Advertisement
MeehoweCK

Untitled

Jul 26th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. const unsigned N = 6;
  8.  
  9. bool spr(unsigned* tab, unsigned n, unsigned v)
  10. {
  11.     for(unsigned i = 0; i < n; ++i)
  12.         if(v == tab[i])
  13.             return true;
  14.     return false;
  15. }
  16.  
  17. void wypelnij(unsigned* tab, unsigned rozmiar)      // tab - tablica, która ma byæ wype³niona, rozmiar - rozmiar tablicy
  18. {
  19.     unsigned suspect;
  20.     for(unsigned i = 0; i < rozmiar; ++i)
  21.     {
  22.         do
  23.         {
  24.             suspect = rand() % 49 + 1;
  25.         }
  26.         while(spr(tab, i, suspect));
  27.         tab[i] = suspect;
  28.     }
  29. }
  30.  
  31. void wypisz(unsigned* tab, unsigned rozmiar)
  32. {
  33.     for(unsigned i = 0; i < rozmiar; ++i)
  34.         cout << tab[i] << '\t';
  35.     cout << endl;
  36. }
  37.  
  38. void sortuj(unsigned* tab, unsigned n)
  39. {
  40.     /*for(unsigned i = 0; i < n - 1; ++i)
  41.         for(unsigned j = 0; j < n - 1 - i; ++j)
  42.             if(tab[j] > tab[j + 1])
  43.                 swap(tab[j], tab[j + 1]);*/
  44.  
  45.     // sortowanie bąbelkowe z flagą:
  46.     bool flaga = false;
  47.     for(unsigned i = 0; i < n - 1; ++i)
  48.     {
  49.         if(flaga)
  50.             break;
  51.         flaga = true;
  52.         for(unsigned j = 0; j < n - 1 - i; ++j)
  53.             if(tab[j] > tab[j + 1])
  54.             {
  55.                 swap(tab[j], tab[j + 1]);
  56.                 flaga = false;
  57.             }
  58.     }
  59. }
  60.  
  61. int main()
  62. {
  63.     unsigned tab[N];
  64.     srand(static_cast<unsigned>(time(nullptr)));
  65.     wypelnij(tab, N);
  66.     wypisz(tab, N);
  67.     sortuj(tab, N);
  68.     wypisz(tab, N);
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement