Return to Snippet

Revision: 53829
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++