Escolar Documentos
Profissional Documentos
Cultura Documentos
$vim 3.c
#include<stdio.h>
typedef struct proc
{ int at,bt,status;
int proc,est;
}P;
P p[15];
int arr[15];
void swap(P *p,P *q)
{ P temp;
temp.at=p->at;
temp.bt=p->bt;
temp.status=p->status;
temp.proc=p->proc;
temp.est=p->est;
p->at=q->at;
p->bt=q->bt;
p->status=q->status;
p->proc=q->proc;
p->est=q->est;
q->at=temp.at;
q->bt=temp.bt;
q->status=temp.status;
q->proc=temp.proc;
q->est=temp.est;
}
void sort_process_by_bt(int n)
{ int i,j;
for(i=0;i<n-1;i++)
{ for(j=i+1;j<n;j++)
{ if(p[i].bt>p[j].bt)
{
swap(&p[i],&p[j]);
}
}
}
}
void cal_proc(int n)
{ int ct=0,i,j,k=0;
up:
for(j=0;j<n;j++)
for(i=0;i<n;i++)
{ if(p[i].status==0 && p[i].at<=ct)
{ p[i].status=1;
p[i].est=ct;
ct+=p[i].bt;
arr[k++]=p[i].proc;
goto up;
}
}
}
int main()
{ int n,i,wt[15],tat[15];
float awt,atat;
printf("\n\n\t\tEnter the no of Process (max 15) : ");
scanf("%d",&n);
printf("\n\n\t\tEnter the arrivel time of process \n");
for(i=0;i<n;i++)
{ printf("\t\tprocess P%d : ",i);
scanf("%d",&p[i].at);
}