Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main()
- {
- int n,i;
- printf("How many process you want :\n");
- scanf("%d",&n);
- int ArrivalTime[n], BurstTime[n],P[n];
- for(i=0; i<n ; i++)
- {
- printf("Enter arrival Time: ");
- scanf("%d",&ArrivalTime[i]);
- printf("\n Enter Burst Time : ");
- scanf("%d",&BurstTime[i]);
- printf("\n");
- P[i]=i;
- }
- int tempA,tempB,tempP,j;
- for (i=0; i<n; i++)
- {
- for(j=0;j<n;j++)
- if(ArrivalTime[i]< ArrivalTime[j])
- {
- tempA= ArrivalTime[i];
- ArrivalTime[i]=ArrivalTime[j];
- ArrivalTime[j]=tempA;
- tempB= BurstTime[i];
- BurstTime[i]=BurstTime[j];
- BurstTime[j]=tempB;
- tempP=P[i];
- P[i]=P[j];
- P[j]=tempP;
- }
- }
- int TNT[n],WT[n],CM[n],AT[n];
- for (i=0; i<n; i++)
- {
- CM[i]=BurstTime[i];
- AT[i]=ArrivalTime[i];
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- if((CM[i])>=(AT[i+1]))
- {
- CM[i+1]+=CM[i];
- }
- else{
- int b=0;
- b=AT[i+1]-CM[i];
- CM[i+1]+=b;
- CM[i+1]+=CM[i];
- }
- }
- int XTNT=0;
- int XWT=0;
- for (i=0; i<n; i++)
- {
- TNT[i]=CM[i] - ArrivalTime[i];
- XTNT+=TNT[i];
- WT[i]=TNT[i] - BurstTime[i];
- XWT+=WT[i];
- }
- float avgTNT, avgWT;
- avgTNT=XTNT/n;
- avgWT=XWT/n;
- printf("Gantt Chart : \n");
- for(i=0; i<n; i++)
- {
- printf("--------");
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- printf("P %d |",P[i]);
- }
- printf("\n");
- for(i=0; i<n; i++)
- {
- printf("--------");
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- printf("%d |",CM[i]);
- }
- printf("\n");
- for(i=0; i<n; i++)
- {
- printf("--------");
- }
- printf("\n");
- for(i=0; i<n; i++)
- {
- printf("Waiting time: %d and TNT : %d \n",WT[i],TNT[i]);
- }
- printf("Average Waiting Time: %.2lf\n",avgWT);
- printf("Average TNT: %.2lf\n",avgTNT);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement