Advertisement
MeehoweCK

Untitled

Feb 10th, 2021
629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstdlib>
  4. #include <ctime>
  5.  
  6. using namespace std;
  7.  
  8. bool czy_juz_jest(short* tablica, unsigned rozmiar, short liczba)
  9. {
  10.     for(unsigned i = 0; i < rozmiar; ++i)
  11.         if(tablica[i] == liczba)
  12.             return true;
  13.     return false;
  14. }
  15.  
  16. void uzupelnij_tablice(short* tablica, unsigned rozmiar)
  17. {
  18.     srand(time(nullptr));
  19.     short losowana;
  20.  
  21.     for(unsigned i = 0; i < rozmiar; ++i)
  22.     {
  23.         do
  24.         {
  25.             losowana = 1 + rand() % 24;
  26.         }
  27.         while(czy_juz_jest(tablica, i, losowana));
  28.         tablica[i] = losowana;
  29.     }
  30. }
  31.  
  32. unsigned sortowanie_wektora(vector<short>& wektor)
  33. {
  34.     unsigned n = wektor.size();
  35.     unsigned operacje = 0;
  36.  
  37.     for(unsigned i = 0; i < n - 1; ++i)
  38.         for(unsigned j = 0; j < n - i - 1; ++j)
  39.             if(wektor[j] > wektor[j + 1])
  40.             {
  41.                 ++operacje;
  42.                 swap(wektor[j], wektor[j + 1]);
  43.             }
  44.     return operacje;
  45. }
  46.  
  47. int main()
  48. {
  49.     cout << "Oliwia Ilnicka 261681\n";
  50.     unsigned rozmiar = 24;
  51.  
  52.     short tablica[rozmiar];
  53.     uzupelnij_tablice(tablica, rozmiar);
  54.  
  55.     vector<short> liczby;
  56.     for(unsigned i = 0; i < rozmiar; ++i)
  57.     {
  58.         cout << tablica[i] << '\t';
  59.         liczby.push_back(tablica[i]);
  60.     }
  61.     cout << endl;
  62.  
  63.     unsigned operacje = sortowanie_wektora(liczby);
  64.  
  65.     for(unsigned i = 0; i < rozmiar; ++i)
  66.     {
  67.         cout << liczby[i] << '\t';
  68.     }
  69.     cout << endl;
  70.     cout << "Liczba operacji: " << operacje << endl;
  71.  
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement