/ Published in: C++
Martin Sostar
Expand |
Embed | Plain Text
#include <cstdlib> #include <iostream> #include <ctime> #include "pok.h" using namespace std; int n; void generiranje(p *pacijenti){ srand(time(0)); cout<<"Koliko parova zelite generirati? (1-10000)"<<endl; cin>>n; pac novi; for(int i=0;i<n;i++){ novi.rb=i+1; novi.a=((rand()%10001)/1000)+1; novi.b=((rand()%10001)/1000)+1; novi.c=(rand()%4)+1; EnQueueQ(novi,pacijenti); } cout<<"zapisi su uspjesno izgenerirani!"<<endl; system("pause"); } void ispis(p *pacijenti){ vrijeme_pocetak(); cout<<"Ispis svih pacijenata"<<endl; pac tekuci; if(IsEmptyQ(pacijenti)) cout<<"red je prazan"<<endl; while(!IsEmptyQ(pacijenti)){ tekuci=FrontQ(pacijenti); DeQueueQ(pacijenti); cout<<" pacijent br: "<<tekuci.rb<<endl; cout<<" cekanje: "<<tekuci.a<<" min"<<endl; cout<<"u ordinaciji: "<<tekuci.b<<" min"<<endl; cout<<" prioritet: "<<tekuci.c<<endl; cout<<"-----------------------------------"<<endl; cout<<endl; } vrijeme_kraj(); cout<<"vrijeme izvodenja funkcije u sekundama "<<vrijeme_proteklo()/1000<<endl; system("pause"); } void raspored(p *pacijenti){ vrijeme_pocetak(); pac ordinacija[10000]; int brojac=0; while(!IsEmptyQ(pacijenti)){ ordinacija[brojac]=FrontQ(pacijenti); brojac++; DeQueueQ(pacijenti);} bool zamjena=true; for(int i=n-1;i>0&&zamjena; i--){ zamjena=false; for(int j=0;j<i;j++){ if(ordinacija[j].c<ordinacija[j+1].c){ pac pom=ordinacija[j]; ordinacija[j]=ordinacija[j+1]; ordinacija[j+1]=pom; zamjena=true; } if(ordinacija[j].c==ordinacija[j+1].c){ if(ordinacija[j].a<ordinacija[j+1].a){ pac pom=ordinacija[j]; ordinacija[j]=ordinacija[j+1]; ordinacija[j+1]=pom; zamjena=true; } } } } for(int i=0;i<n;i++) EnQueueQ(ordinacija[i],pacijenti); cout<<"Ispis svih pacijenata"<<endl; pac tekuci; if(IsEmptyQ(pacijenti)) cout<<"red je prazan"<<endl; while(!IsEmptyQ(pacijenti)){ tekuci=FrontQ(pacijenti); DeQueueQ(pacijenti); cout<<" pacijent br: "<<tekuci.rb<<endl; cout<<" cekanje: "<<tekuci.a<<" min"<<endl; cout<<"u ordinaciji: "<<tekuci.b<<" min"<<endl; cout<<" prioritet: "<<tekuci.c<<endl; cout<<"-----------------------------------"<<endl; } vrijeme_kraj(); cout<<"Vrijeme izvodenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl; system("pause"); } int main() { p *pacijenti; pacijenti= new p; InitQ(pacijenti); int a; do{ system("cls"); cout<<"1. Generiranje parova"<<endl; cout<<"2. Simulacija cekaonice"<<endl; cout<<"3. Uredivanje prioriteta"<<endl; cout<<"9. Izlaz iz programa"<<endl; cout<<"Unesite izbor: "; cin>>a; switch(a){ case 1: generiranje(pacijenti); break; case 2: ispis(pacijenti); break; case 3: raspored(pacijenti); break; } }while(a!=9); system("PAUSE"); return 0; }
You need to login to post a comment.
