![```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Implementação de espaço reservado compatível com a cadeia de ferramentas MinGW */
#if defined(__MINGW32__) || defined(__MINGW64__)
#ifdef __cplusplus
extern "C"
#endif
void __chkstk_ms(void) { }
#endif
#define MAX_PROCESSES 10
// Estrutura do processo: Armazena os atributos principais de um processo
typedef struct {
char name[10]; // Nome do processo
int arrival_time; // Tempo de chegada
int burst_time; // Tempo de burst
int remaining_time; // Tempo de execução restante
int waiting_time; // Tempo de espera
int turnaround_time; // Tempo de retorno
int start_time; // Tempo de início
int finish_time; // Tempo de término
} Process;
// Imprime informações do processo: Saída formatada de todas as métricas principais do processo
void print_processes(Process processes[], int n) {
printf("\nInformações do Processo:\n");
printf("%-10s %-12s %-12s %-15s %-15s %-15s\n",
"Nome Processo", "Tempo Chegada", "Tempo Burst", "Tempo Espera", "Tempo Retorno", "Tempo Término");
printf("--------------------------------------------------------------------\n");
for (int i = 0; i < n; i++) {
printf("%-10s %-12d %-12d %-15d %-15d %-15d\n",
processes[i].name, processes[i].arrival_time, processes[i].burst_time, processes[i].waiting_time, processes[i].turnaround_time, processes[i].finish_time);
}
}
```](/_next/image?url=https%3A%2F%2Fpub-8c0ddfa5c0454d40822bc9944fe6f303.r2.dev%2Fai-drawings%2FMIwEMHRXMsrWZBryMNOwl9ojtXfSaj56%2F2f603ea1-40f3-4de5-aeea-71785dd7520a%2F07ac89e1-868b-4164-8503-57497a03a480.png&w=3840&q=75)
```c #include <stdio.h> #include <stdlib.h> #include <string.h> /* Implementação de espaço reservado compatível com a cadeia de ferramentas MinGW */ #if defined(__MINGW32__) || defined(__MINGW64__) #ifdef __cplusplus extern "C" #endif void __chkstk_ms(void) { } #endif #define MAX_PROCESSES 10 // Estrutura do processo: Armazena os atributos principais de um processo typedef struct { char name[10]; // Nome do processo int arrival_time; // Tempo de chegada int burst_time; // Tempo de burst int remaining_time; // Tempo de execução restante int waiting_time; // Tempo de espera int turnaround_time; // Tempo de retorno int start_time; // Tempo de início int finish_time; // Tempo de término } Process; // Imprime informações do processo: Saída formatada de todas as métricas principais do processo void print_processes(Process processes[], int n) { printf("\nInformações do Processo:\n"); printf("%-10s %-12s %-12s %-15s %-15s %-15s\n", "Nome Processo", "Tempo Chegada", "Tempo Burst", "Tempo Espera", "Tempo Retorno", "Tempo Término"); printf("--------------------------------------------------------------------\n"); for (int i = 0; i < n; i++) { printf("%-10s %-12d %-12d %-15d %-15d %-15d\n", processes[i].name, processes[i].arrival_time, processes[i].burst_time, processes[i].waiting_time, processes[i].turnaround_time, processes[i].finish_time); } } ```
Um diagrama esquemático em formato 16:9 com fundo branco, no...