/ Published in: C++
deskripšn
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/*MatejL*/ #include <iostream> #include <cstdlib> #include <time.h> #include "red_pok.h" #include "biblioteka_vrijeme.cc" int n; void generiranje(int polje [], int n) { srand(time(0)); for (int i=0; i<n; i++) polje[i]=rand()%10000+1; }; void ambulanta(int polje[],int n,red *novi){ vrijeme_pocetak(); double vrijeme_pocetka=clock(); InitQ(novi); int i=0; int vrijeme=0; int a=0, b=1; int prvo_polje=polje[0]; int radi; int ordinacija; int brojac=-1; while (1) { vrijeme++; if (vrijeme == a+polje[i]) { cout <<"\nVrijeme: "<<vrijeme<<endl; EnqueueQ(polje[i+1],novi); cout <<"U red ulazi pacijent pod brojem: "<<FrontQ(novi)<<endl; a+=polje[i]; i+=2; } if (vrijeme == prvo_polje) { b+=2; radi=0; cout <<"\nVrijeme: "<<vrijeme<<endl; cout <<"Izlazi iz ordinacije pacijent pod brojem: "<<FrontQ(novi)<<endl; DequeueQ(novi); brojac++; cout<<brojac<<", "<<n<<", "<<IsEmptyQ(novi)<<endl; } if ((!IsEmptyQ(novi)) && radi==0) { cout <<"U red ulazi pacijent pod brojem: "<<FrontQ(novi)<<endl; prvo_polje=vrijeme+polje[b]; radi=1; } if( IsEmptyQ(novi) && ordinacija==1){ cout <<"Kraj rada programa\n"<<endl; vrijeme_kraj(); double vrijeme_kraj=clock(); double vrime=vrijeme_kraj-vrijeme_pocetka; cout<<"Proteklo vrijeme je(ms): "<<vrime<<endl; break; cout <<"Vrijeme potrebno za obavljanje programa: " << vrijeme_proteklo() << endl; } } }; int main(){ red *novi=new red; int *polje = new int[2*n]; cout <<"\n\n Simulacija rada lijecnicke ordinacije:\n"; cout <<"\nUnesite broj pacijenata: "; cin >> n; generiranje(polje,2*n); cout <<"Generirani parovi su: " << endl; for (int i=0; i<2*n; i++) cout <<" "<<polje[i]<<" "; cout <<"\n\n"; system("pause"); ambulanta(polje,2*n,novi); system("pause"); return 0; }