Les dejo el codigo : (Es un codigo en c++ de rounb robin con quantium 5)
Código
#include<iostream> #include<conio.h> using namespace std; void piladebusqueda(int pnt ,int tm); void piladebusqueda2(int pnt ,int tm); void anadir(int pnt); int llegada[50]; int espera[50]; int fin[50]={0}; int quantium; int rqi[50]={0}; int btm[50]={0}; int c=0; int st; int flg=0; int tm=0; int noe=0; int pnt=0; int servicio; int esper; float prom_servicio; float prom_espera; void piladebusqueda1(int pnt,int tm){ for(int x=pnt+1;x<5;x++){ if(llegada[x]<=tm){ rqi[noe]=x+1; noe++; } } } void piladebusqueda2(int pnt,int tm){ for(int x=pnt+1;x<5;x++){ int fl=0; for(int y=0;y<noe;y++){ if(rqi[y]==x+1){ fl++;}} if(llegada[x]<=tm && fl==0 && btm[x]!=0){ rqi[noe]=x+1; noe++;} } } int main(){ cout<<"\n\tAlgoritmo Round Robin\n"; for(int x=0;x<5;x++){ cout<<"\nProceso"<<x+1; cout<<"\nTiempo de llegada="; cin>>llegada[x]; cout<<"\nTiempo de servicio"; cin>>espera[x]; btm[x]=espera[x];} cout<<"\nIngresa el quantum por favor:"; cin>>quantium; system("CLS"); do{ if(flg==0){ st=llegada[0]; if(btm[0]<=quantium){ tm=st+btm[0]; btm[0]=0; piladebusqueda1(pnt,tm);} else{ btm[0]=btm[0]*quantium; tm=st+quantium; piladebusqueda1(pnt,tm); anadir(pnt);} } else{ pnt=rqi[0]-1; st=tm; for(int x=0;x<noe && noe!=1;x++){ rqi[x]=rqi[x+1]; } noe--; if(btm[pnt]<=quantium){ tm=st+btm[pnt]; btm[pnt]=0; piladebusqueda2(pnt,tm);} else{ btm[pnt]=btm[pnt]-quantium; tm=st+quantium; piladebusqueda2(pnt,tm); anadir(pnt);} } if(btm[pnt]==0){ fin[pnt]=tm; } flg++; }while(noe!=0); cout<<"\n\nPROCESOS\tTIEMPO DE LLEGADA\tTIEMPO DE SERVICIO\tTIEMPO FINAL\tTIEMPOS DE RESPUESTAS\tTIEMPO DE ESPERA\n"; for(int x=0;x<5;x++){ servicio=fin[x]-llegada[x]; esper=servicio-espera[x]; cout<<"proceso"<<x+1<<"\t\t"<<llegada[x]<<"\t\t"<<espera[x]<<"\t\t"<<fin[x]<<"\t\t"<<servicio<<"\t\t\t"<<esper<<"\t\t"; prom_espera=prom_espera+esper; prom_servicio=prom_servicio+servicio; } cout<<"\n Tiempo promedio de servicio:" <<prom_servicio/5<<"\n Tiempo promedio de espera:"<<prom_espera/5; }
MOD: Etiquetas de Código GeSHi insertadas