Posted By

malazarev on 12/02/11


Tagged

podataka struktre ambulanta


Versions (?)

Zadatak 3 - main


 / Published in: C++
 

deskripšn

  1. /*MatejL*/
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <time.h>
  5. #include "red_pok.h"
  6. #include "biblioteka_vrijeme.cc"
  7.  
  8. int n;
  9.  
  10. void generiranje(int polje [], int n) {
  11. srand(time(0));
  12. for (int i=0; i<n; i++)
  13. polje[i]=rand()%10000+1;
  14. };
  15.  
  16. void ambulanta(int polje[],int n,red *novi){
  17. vrijeme_pocetak();
  18. double vrijeme_pocetka=clock();
  19. InitQ(novi);
  20.  
  21. int i=0;
  22. int vrijeme=0;
  23. int a=0, b=1;
  24. int prvo_polje=polje[0];
  25. int radi;
  26. int ordinacija;
  27. int brojac=-1;
  28.  
  29. while (1) {
  30. vrijeme++;
  31.  
  32. if (vrijeme == a+polje[i]) {
  33.  
  34. cout <<"\nVrijeme: "<<vrijeme<<endl;
  35. EnqueueQ(polje[i+1],novi);
  36. cout <<"U red ulazi pacijent pod brojem: "<<FrontQ(novi)<<endl;
  37. a+=polje[i];
  38. i+=2;
  39. }
  40.  
  41. if (vrijeme == prvo_polje) {
  42.  
  43. b+=2;
  44. radi=0;
  45.  
  46. cout <<"\nVrijeme: "<<vrijeme<<endl;
  47.  
  48. cout <<"Izlazi iz ordinacije pacijent pod brojem: "<<FrontQ(novi)<<endl;
  49. DequeueQ(novi);
  50. brojac++;
  51.  
  52. cout<<brojac<<", "<<n<<", "<<IsEmptyQ(novi)<<endl;
  53. }
  54.  
  55. if ((!IsEmptyQ(novi)) && radi==0) {
  56.  
  57. cout <<"U red ulazi pacijent pod brojem: "<<FrontQ(novi)<<endl;
  58. prvo_polje=vrijeme+polje[b];
  59. radi=1;
  60. }
  61.  
  62. if( IsEmptyQ(novi) && ordinacija==1){
  63.  
  64. cout <<"Kraj rada programa\n"<<endl;
  65. vrijeme_kraj();
  66. double vrijeme_kraj=clock();
  67. double vrime=vrijeme_kraj-vrijeme_pocetka;
  68.  
  69. cout<<"Proteklo vrijeme je(ms): "<<vrime<<endl;
  70. break;
  71. cout <<"Vrijeme potrebno za obavljanje programa: " << vrijeme_proteklo() << endl;
  72.  
  73. }
  74. }
  75. };
  76.  
  77. int main(){
  78.  
  79. red *novi=new red;
  80.  
  81. int *polje = new int[2*n];
  82. cout <<"\n\n Simulacija rada lijecnicke ordinacije:\n";
  83. cout <<"\nUnesite broj pacijenata: ";
  84. cin >> n;
  85.  
  86. generiranje(polje,2*n);
  87. cout <<"Generirani parovi su: " << endl;
  88. for (int i=0; i<2*n; i++)
  89. cout <<" "<<polje[i]<<" ";
  90. cout <<"\n\n";
  91. system("pause");
  92. ambulanta(polje,2*n,novi);
  93.  
  94. system("pause");
  95. return 0;
  96. }

Report this snippet  

You need to login to post a comment.