/ Published in: C++
glavni program red
Expand |
Embed | Plain Text
#include <iostream> #include <ctime> #include "polja.h" //#include "pok.h" #include <ctime> using namespace std; telement*element=new telement; int ukupno=0; void prvi(telement*element) { cout<<"N = "; int N; cin>>N; ukupno+=N; srand(time(0)); rand(); for(int i=0; i<N; i++) { tpacijent*novi=new tpacijent; novi->xi=rand()%10000+1; novi->yi=rand()%10000+1; novi->prioritet=rand()%4+1; EnQueueQ(novi,element); } tpacijent*novi=new tpacijent; } void wait( int seconds) { clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while (clock() < endwait) {} } int drugi(telement*element) { if(IsEmptyQ(element))return 0; clock_t vrijeme1,vrijeme2; vrijeme1=clock(); double proteklo; tpacijent novi[ukupno]; cout<<"PRESLAZEM PACIJENTE PREMA PRIORITETU\n--------------------------------------------\n"; wait(1); for(int i=0; i<ukupno; i++) { tpacijent*novi2=new tpacijent; novi2=FrontQ(element); DeQueueQ(element); novi[i].xi=novi2->xi; novi[i].yi=novi2->yi; novi[i].prioritet=novi2->prioritet; delete novi2; } for(int i=0; i<ukupno; i++) { int j=i-1; int pom=novi[i].prioritet; tpacijent pom2=novi[i]; while(j>=0&&novi[j].prioritet>pom) { novi[j+1]=novi[j--]; novi[j+1]=pom2; } } cout<<"Uspjesno preslozeni pacijenti prema prioritetu\n--------------------------------------------\n"; wait(1); cout<<"POKRECEM SIMULACIJU \n============================================\n"; wait(1); int broj=1; telement*novi3=new telement; InitQ(novi3); for(int i=0; i<ukupno; i++) { tpacijent*novi2=new tpacijent; novi2->xi=novi[i].xi; novi2->yi=novi[i].yi; novi2->prioritet=novi[i].prioritet; EnQueueQ(novi2,novi3); } tpacijent*pacijent=new tpacijent; while(!(IsEmptyQ(novi3))) { pacijent=FrontQ(novi3); DeQueueQ(novi3); cout<<"\n=============================================================\n"; cout<<"Pacijent broj "<<broj<<" ceka ulaz u ordinaciju\n"; cout<<"PRIORITET PACIJENTA: "; if(pacijent->prioritet==1)cout<<"KRITICNI SLUCAJ!\n"; else if(pacijent->prioritet==2)cout<<"RIZICNI SLUCAJ!\n"; else if(pacijent->prioritet==3)cout<<"SLUCAJ NISKOG RIZIKA!\n"; else cout<<"NIJE HITAN SLUCAJ!\n"; float vrijeme=pacijent->xi; vrijeme/=1000; cout<<" _______________________________________________________\n"; cout<<"| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n"; for(int i=0; i<vrijeme; i++) { cout<<(char)177<<(char)177<<(char)177<<(char)177<<(char)177; wait(1); } int sekunde; sekunde= ((float)pacijent->xi/1000-(int)pacijent->xi/1000)*60; cout<<"\nPacijent je cekao : "<<(int)pacijent->xi/1000 <<" min i "<<sekunde<<" sec\n"; wait(1); cout<<"\nPacijent broj "<<broj<<" je u ordinaciji kod lijecnika \n"; vrijeme=pacijent->yi; vrijeme/=1000; cout<<" _______________________________________________________\n"; cout<<"| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n"; for(int i=0; i<vrijeme; i++) { cout<<(char)177<<(char)177<<(char)177<<char(177)<<char(177); wait(1); } sekunde= ((float)pacijent->yi/1000-(int)pacijent->yi/1000)*60; cout<<"\nPacijent je u ordinaciji bio: "<<(int)pacijent->yi/1000<<" min i "<<sekunde<<" sec\n"; wait(1); broj++; cout<<endl; } delete pacijent; vrijeme2=clock(); proteklo=vrijeme2-vrijeme1; cout<<"VRIJEME KOJE JE BILO POTREBNO DA SE IZVRSI OVA FUNKCIJA JE: "<<(int)proteklo/1000<<" sec\n"; InitQ(element); } int main() { InitQ(element); int izbor; do { cout << "IZBORNIK\n-------\n"; cout<<"1. Generiranje niza slucajnih brojeva\n"; cout<<"2. \n"; cin>>izbor; switch(izbor) { case 1: prvi(element); break; case 2: drugi(element); break; } } while(izbor!=9); return 0; }
You need to login to post a comment.
