Я пишу приоритетный график абстракции, в котором я получаю количество процессов, а также их время выполнения и их приоритеты. Сначала запускается процесс с наивысшим приоритетом, затем следующий. Время выполнения добавляется как runtime1 + (runtime1 + runtime2) + ...
.Расчетная абстракция планирования времени
Он запускается без ошибок или предупреждений при его выполнении, но он получает только те значения, которые я запрашиваю и ничего не возвращаю. Что не так с моим кодом?
#include <stdio.h>
#include <stdlib.h>
typedef struct process {
int priority;
int runtime;
} Process;
int main() {
int numberOfProcess;
int i;
printf("enter process number\n");
scanf("%d",&numberOfProcess);
Process proc[numberOfProcess];
for (i = 0; i < numberOfProcess; i++) {
printf("Enter the process runtime\n");
scanf("%d", &proc[i].runtime);
printf("Enter the priority\n");
scanf("%d", &proc[i].priority);
}
int done = 1;
int index;
int completedtimes[10];
int usage;
while (done > 0) {
done = -1;
int maxPriority = 0;
for (index = 0; index < numberOfProcess; index++) {
if (proc[index].priority > proc[maxPriority].priority)
maxPriority = index;
proc[maxPriority].priority = -1;
usage += proc[maxPriority].runtime;
completedtimes[maxPriority] = usage;
for (index = 0; index < numberOfProcess; i++)
if (proc[index].priority != -1)
done = -1;
for (index = 0; index < numberOfProcess; index++)
printf("process %d completed at %d sec", index, completedtimes[index]);
}
}
return 0;
}
Разве вы уже не задавали этот вопрос? –
Я сделал его более дружественным к формату, почему, хотя, это запрещено просить о помощи? – Morbidity
И я также удалил старый. – Morbidity