Posted By

matijaknezevic on 12/02/11


Tagged


Versions (?)

glavni program


 / Published in: C++
 

z3

  1. #include <iostream>
  2. #include <ctime>
  3. #include "red_polje.h"
  4. //#include "red_pokazivaci.h"
  5.  
  6. using namespace std;
  7.  
  8. void generiranje(tqu *red)
  9. {
  10. tpacijent pacijent;
  11. int n;
  12. cout<<"broj vremena: ";
  13. cin>>n;
  14. for(int i=0; i<n; i++)
  15. {
  16. pacijent.v1 = rand()%10000+1;
  17. pacijent.v2 = rand()%10000+1;
  18. pacijent.prioritet = rand()%4+1;
  19. pacijent.rbr = i+1;
  20. EnQueueQ(pacijent, red);
  21. }
  22. }
  23.  
  24. void ispis(tpacijent pacijent)
  25. {
  26. cout<<"pacijent_"<<pacijent.rbr<<endl;
  27. cout<<"prioritet: "<<pacijent.prioritet<<endl;
  28. cout<<"vrijeme ulaska: "<<pacijent.v1<<" s"<<endl;
  29. cout<<"vrijeme izlaska: "<<pacijent.v2<<" s"<<endl<<endl;
  30. }
  31.  
  32. void ulazak(tqu *red)
  33. {
  34. double sp,sk;
  35. if(IsEmptyQ(red)) return;
  36. sp = clock();
  37. while(!(IsEmptyQ(red)))
  38. {
  39. tpacijent pacijent = FrontQ(red);
  40. ispis(pacijent);
  41. DeQueueQ(red);
  42. }
  43. sk = clock();
  44. cout<<endl<<"proteklo vrijeme: "<<(sk-sp)/1000<<" s"<<endl;
  45. }
  46.  
  47. void premjestanje(tqu *red, int prioritet)
  48. {
  49.  
  50. if(IsEmptyQ(red)) return;
  51. tpacijent pacijent;
  52. tqu *red2 = InitQ(red2);
  53. while(!(IsEmptyQ(red)))
  54. {
  55. pacijent = FrontQ(red);
  56. if(pacijent.prioritet == prioritet)
  57. ispis(pacijent);
  58. else
  59. EnQueueQ(pacijent, red2);
  60. DeQueueQ(red);
  61. }
  62. memcpy(red,red2,sizeof(tqu));
  63. }
  64.  
  65. void ulazak_P(tqu *red)
  66. {
  67. double sp,sk;
  68. sp = clock();
  69. for(int i=1; i<5; i++)
  70. premjestanje(red, i);
  71. sk = clock();
  72. if((IsEmptyQ(red)))cout<<endl<<"proteklo vrijeme: "<<(sk-sp)/1000<<" s"<<endl;
  73. }
  74.  
  75. int main()
  76. {
  77.  
  78. tqu *red = InitQ(red);
  79.  
  80. int izbor;
  81. do{
  82. cout<<endl<<"1: generiranje vremena";
  83. cout<<endl<<"2: ispis (simulacija rada)";
  84. cout<<endl<<"3: ispis po prioritetima";
  85. cout<<endl<<"9: kraj";
  86. cout<<endl<<" :";
  87. cin>>izbor;
  88.  
  89. switch(izbor)
  90. {
  91. case 1:generiranje(red);
  92. break;
  93. case 2:ulazak(red);
  94. break;
  95. case 3:ulazak_P(red);
  96. break;
  97.  
  98. case 9:
  99. break;
  100. }
  101. }while(izbor!=9);
  102.  
  103. system("pause");
  104. return 0;
  105. }

Report this snippet  

You need to login to post a comment.