Facebook
From Chartreuse Frog, 7 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 346
  1. #include <thread>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int bufor;
  7. int haslo;
  8. bool sem = 0;
  9. bool czy_zgodne = 0;
  10. int tab[100];
  11.  
  12. void wpisanie_liczb()
  13. {
  14.         for (int i = 0; i < 100; i++)
  15.         {
  16.                 tab[i] = i;
  17.         }
  18. }
  19.  
  20. void Producent()
  21. {
  22.         for (int i = 0; i < 100; i++)
  23.         {
  24.  
  25.                 if (czy_zgodne == 1){ break; }
  26.                 if (sem == 1)
  27.                 {
  28.                         while (sem == 1)
  29.                         {
  30.  
  31.                         }
  32.                 }
  33.                 else
  34.                 {
  35.                         bufor = tab[i];
  36.                         sem = 1;
  37.                 }
  38.                
  39.                 _sleep(5);
  40.                
  41.         }
  42.        
  43.  
  44. }
  45.  
  46.  
  47. void Konsument()
  48. {
  49.         for (int i = 0; i < 100; i++)
  50.         {
  51.                 if (czy_zgodne == 1){ break; }
  52.                 if (sem == 0)
  53.                 {
  54.                         while (sem == 0)
  55.                         {
  56.  
  57.                         }
  58.                 }
  59.                 else
  60.                 {
  61.                         if (haslo == bufor)
  62.                         {
  63.                                 cout << "Haslo zgodne!" << endl;
  64.                                 czy_zgodne = 1;
  65.                         }
  66.                         sem = 0;
  67.                 }
  68.                
  69.         }
  70.        
  71.         if (czy_zgodne == 0)
  72.         {
  73.                 cout << "Haslo niezgodne" << endl;
  74.         }
  75.  
  76.         _sleep(5);
  77. }
  78.  
  79.  
  80.  
  81.  
  82. int main()
  83. {
  84.         wpisanie_liczb();
  85.         cout << "Podaj haslo konsumenta(liczba od 1 do 100): ";
  86.         cin >> haslo;
  87.         cout << endl;
  88.  
  89.  
  90.         thread pro(Producent);
  91.         thread kon(Konsument);
  92.         pro.join();
  93.        
  94.         kon.join();
  95.  
  96.         getchar();
  97.         getchar();
  98. }