/ Published in: C++
z3
Expand |
Embed | Plain Text
#include <iostream> #include <ctime> #include "red_polje.h" //#include "red_pokazivaci.h" using namespace std; void generiranje(tqu *red) { tpacijent pacijent; int n; cout<<"broj vremena: "; cin>>n; for(int i=0; i<n; i++) { pacijent.v1 = rand()%10000+1; pacijent.v2 = rand()%10000+1; pacijent.prioritet = rand()%4+1; pacijent.rbr = i+1; EnQueueQ(pacijent, red); } } void ispis(tpacijent pacijent) { cout<<"pacijent_"<<pacijent.rbr<<endl; cout<<"prioritet: "<<pacijent.prioritet<<endl; cout<<"vrijeme ulaska: "<<pacijent.v1<<" s"<<endl; cout<<"vrijeme izlaska: "<<pacijent.v2<<" s"<<endl<<endl; } void ulazak(tqu *red) { double sp,sk; if(IsEmptyQ(red)) return; sp = clock(); while(!(IsEmptyQ(red))) { tpacijent pacijent = FrontQ(red); ispis(pacijent); DeQueueQ(red); } sk = clock(); cout<<endl<<"proteklo vrijeme: "<<(sk-sp)/1000<<" s"<<endl; } void premjestanje(tqu *red, int prioritet) { if(IsEmptyQ(red)) return; tpacijent pacijent; tqu *red2 = InitQ(red2); while(!(IsEmptyQ(red))) { pacijent = FrontQ(red); if(pacijent.prioritet == prioritet) ispis(pacijent); else EnQueueQ(pacijent, red2); DeQueueQ(red); } memcpy(red,red2,sizeof(tqu)); } void ulazak_P(tqu *red) { double sp,sk; sp = clock(); for(int i=1; i<5; i++) premjestanje(red, i); sk = clock(); if((IsEmptyQ(red)))cout<<endl<<"proteklo vrijeme: "<<(sk-sp)/1000<<" s"<<endl; } int main() { tqu *red = InitQ(red); int izbor; do{ cout<<endl<<"1: generiranje vremena"; cout<<endl<<"2: ispis (simulacija rada)"; cout<<endl<<"3: ispis po prioritetima"; cout<<endl<<"9: kraj"; cout<<endl<<" :"; cin>>izbor; switch(izbor) { case 1:generiranje(red); break; case 2:ulazak(red); break; case 3:ulazak_P(red); break; case 9: break; } }while(izbor!=9); system("pause"); return 0; }
You need to login to post a comment.
