Revision: 53829
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 2, 2011 23:37 by davor
Initial Code
#include <iostream>
#include <cstdlib>
#include <ctime>
#include "biblioteka_vrijeme.cpp"
using namespace std;
struct tpodaci{
int broj_pacijenta;
int vrijeme_cekanja;
int vrijeme_pregleda;
int hitnost_intervencije;
int pregledan;
}polje[10000] , tmp;
typedef tpodaci elementtype;
//#include "red_polje.h"
#include "red_pokazivac.h"
int main(){
vrijeme_pocetak();
srand((unsigned)time(NULL));
int n;
int i;
int br = 0;
int br2 = 0;
int k = 1;
int j;
red *red1;
red1 = new red;
InitQ(red1);
cout << "\n Simulacija rada lijecnicke ordinacije\n " << endl;
cout << "\nUnesite broj pacijenata za posjetu lijecniku: ";
cin >> n;
cout << "\nBr. pacijenta\tVrijeme cekanja\tVrijeme pregleda\tHitnost intervencije"<< endl;
int a;
for (a = 0 ; a < n ; a++){
polje[a].vrijeme_cekanja = rand()%1000 +1;
polje[a].vrijeme_pregleda = rand()%1000 +1;
polje[a].hitnost_intervencije = rand()%4 + 1;
polje[a].broj_pacijenta = a + 1;
polje[a].pregledan = 0;
cout << polje[a].broj_pacijenta << "\t\t" << polje[a].vrijeme_cekanja << " \t\t" << polje[a].vrijeme_pregleda << "\t\t\t" << polje[a].hitnost_intervencije << endl;
}
cout<<" \nSlijedno primanje pacijenata u lijecnicku ordinaciju:\n "<<endl;
for(i=0; i<n; i++){
if (polje[i].pregledan == 0){
if(IsEmptyQ(red1)){
while(br < polje[i].vrijeme_cekanja){
br++;
br2++;
}
br=0;
EnQueueQ(polje[i] , red1);
cout << polje[i].broj_pacijenta << ". pacijent ulazi u red " << endl;
}
}
cout << "Proteklo je " << br2 << " vremena." << endl;
if (k > 1) k--;
tmp = FrontQ(red1);
DeQueueQ(red1);
cout << tmp.broj_pacijenta << ". pacijent ulazi u ordinaciju." << endl;
if (IsEmptyQ(red1)) cout<<"Red je prazan."<<endl;
else cout << "Na celu reda je " << FrontQ(red1).broj_pacijenta <<". pacijent " << endl;
tmp.pregledan = 1;
for(j = 0 ; j < tmp.vrijeme_pregleda ; j++){
br++;
br2++;
if((i + k < n) && (br == polje[i+k].vrijeme_cekanja)){
EnQueueQ(polje[i+k] , red1);
polje[i+k].pregledan=1;
cout << "Nakon " << j+1 << ". vremena, "<<i+k+1 << ". pacijent ulazi u red." <<endl;
br = 0;
k++;
}
}
cout << tmp.broj_pacijenta << ". pacijent izlazi iz ordinacije" << endl;
cout << "Proteklo vremena: " << br2 << endl<< endl;
}
vrijeme_kraj();
cout<<"Stvarno vrijeme trajanja programa je: "<<vrijeme_proteklo()<<endl;
system ("pause");
return 0;
}
Initial URL
Initial Description
zadak a i b
Initial Title
zad: a i b, slijedno unosenje
Initial Tags
Initial Language
C++