/ Published in: C++
Glavni program iz zadatka 3 strukture podataka
Expand |
Embed | Plain Text
#include <iostream> #include <ctime> #include "polja.h" //#include "pok.h" using namespace std; elementi*el=new elementi; int n=0; void prvi(elementi*el){ cout<<"Koliko N parova slucajnih brojeva zelite generirati: "; do cin>>n; while(n<=1||n>=10000); srand(time(0)); rand(); for(int i=0; i<n; i++){ pacijenti*novi=new pacijenti; novi->xi=rand()%10000+1; novi->yi=rand()%10000+1; novi->prioritet=rand()%4+1; EnQueueQ(novi,el); } pacijenti*novi=new pacijenti; cout<<endl; } void wait(int sekunde){ clock_t cekaj; cekaj=clock()+sekunde*CLOCKS_PER_SEC; while(clock()<cekaj){} } int drugi(elementi*el){ if(IsEmptyQ(el))return 0; clock_t vrijeme1,vrijeme2; vrijeme1=clock(); float vrijeme_trajanja; pacijenti novi[n]; cout<<"\tSIMULACIJA"<<endl; cout<<"----------------------------------------"<<endl; cout<<"Preslazem pacijente prema prioritetu."<<endl; wait(1); for(int i=0; i<n; i++) { pacijenti*novi1=new pacijenti; novi1=FrontQ(el); DeQueueQ(el); novi[i].xi=novi1->xi; novi[i].yi=novi1->yi; novi[i].prioritet=novi1->prioritet; delete novi1; } for(int i=0; i<n; i++) { int j=i-1; int pom=novi[i].prioritet; pacijenti pom2=novi[i]; while(j>=0&&novi[j].prioritet>pom) { novi[j+1]=novi[j--]; novi[j+1]=pom2; } } cout<<"Pacijenti su preslozeni prema prioritetu."<<endl; cout<<"///////////////////////////////////////////"<<endl; wait(1); cout<<"\tSimulacija pokrenuta "<<endl; cout<<"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"<<endl; wait(1); int broj=1; elementi*novi2=new elementi; InitQ(novi2); for(int i=0; i<n; i++){ pacijenti*novi1=new pacijenti; novi1->xi=novi[i].xi; novi1->yi=novi[i].yi; novi1->prioritet=novi[i].prioritet; EnQueueQ(novi1,novi2); } pacijenti*pacijent=new pacijenti; while(!(IsEmptyQ(novi2))){ pacijent=FrontQ(novi2); DeQueueQ(novi2); cout<<"Pacijent broj: "<<broj<<". ceka ulaz u ordinaciju."<<endl; cout<<"Prioritet pacjenta: "; if(pacijent->prioritet==1)cout<<"1-KRITICNI SLUCAJ!"<<endl; else if(pacijent->prioritet==2)cout<<"2-RIZICNI SLUCAJ!"<<endl; else if(pacijent->prioritet==3)cout<<"3-SLUCAJ NISKOG RIZIKA!"<<endl; else cout<<"4-NIJE HITAN SLUCAJ!"<<endl; float vrijeme=pacijent->xi; vrijeme/=1000; for(int i=0; i<vrijeme; i++){ wait(1); } int sekunde; sekunde=((float)pacijent->xi/1000-(int)pacijent->xi/1000)*60; cout<<"Pacijent je cekao: "<<(int)pacijent->xi/1000 <<" min i "<<sekunde<<" sekundi."<<endl; wait(1); cout<<"Pacijent broj "<<broj<<" je u ordinaciji kod lijecnika."<<endl; vrijeme=pacijent->yi; vrijeme/=1000; for(int i=0; i<vrijeme; i++){ wait(1); } sekunde=((float)pacijent->yi/1000-(int)pacijent->yi/1000)*60; cout<<"Pacijent je u ordinaciji bio: "<<(int)pacijent->yi/1000<<" min i "<<sekunde<<" sekundi."<<endl; wait(1); broj++; cout<<endl; } delete pacijent; vrijeme2=clock(); vrijeme_trajanja=vrijeme2-vrijeme1; cout<<"Ukupno vrijeme trajanja druge opcije je: "<<(int)vrijeme_trajanja/1000<<" sekundi."<<endl<<endl; InitQ(el); } int main() { InitQ(el); int izbor; do { cout << "\tIZBORNIK\n------------------------"<<endl; cout<<"1. Generiranje niza slucajnih brojeva"<<endl; cout<<"2. Simulacija"<<endl; cout<<"9. Izlaz"<<endl; cout<<"Vas izbor: "; cin>>izbor; switch(izbor) { case 1: prvi(el); break; case 2: drugi(el); break; } } while(izbor!=9); return 0; }
You need to login to post a comment.
