Эксперты, это программа, которую я сделал для составления расписаний в порядке поступления заявок на языке Си.
Для входов типа -
4
0 0 0 0
1 2 3 4
и вводы типа -
5
0 1 2 3 4
4 3 1 2 5
Моя программа выдает ошибку сегментации (ядро сброшено), когда я пытался запустить его на своей Ubuntu, но он отлично работал в IDE GeeksForGeeks.
А для входов вроде -
6
4 3 2 1 2 3
4 3 2 3 4 5
Моя программа работает нормально как в Ubuntu, так и в IDE GeeksForGeeks.
#include<stdio.h>
void main(){
int n,i;
printf("\nEnter the number of jobs:\n");
scanf("%d",&n);
int at[n],bt[n],at_copy[n];
printf("\nEnter the arrival time:\n");
for(i=0;i<n;i++){
scanf("%d",&at[i]);
at_copy[i]=at[i];
}
printf("\nEnter the burst time:\n");
for(i=0;i<n;i++)
scanf("%d",&bt[i]);
int priority[n],min=at_copy[0],k,j;
for(j=0;j<n;j++){
min=at_copy[0];
for(i=0;i<n;i++){
if(at_copy[i]<min){
min=at_copy[i];
k=i;
}
}
at_copy[k]=999;
priority[j]=k;
}
int ct[n],wt[n],tat[n],t=0;
for(i=0;i<n;i++){
if(at[i]<t)
k=0;
else
k=at[i];
t+=bt[i]+k;
ct[i]=t;
tat[i]=ct[i]-at[i];
wt[i]=tat[i]-bt[i];
}
printf("\nProcess\tAT\tBT\tCT\tTAT\tWT\n");
for(i=0;i<n;i++){
printf("P%d\t%d\t%d\t%d\t%d\t%d\n",i+1,at[i],bt[i],ct[i],tat[i],wt[i]);
}
}
В выходных данных я ожидаю таблицу в виде структуры, отображающей время прибытия, время пакета, время завершения, время пакета, время выполнения и время ожидания всех процессов.