MeehoweCK

Untitled

Oct 7th, 2020
1,811
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. bool czy_jest(int* tablica, int n, int liczba)      // sprawdza czy liczba znajduje się w tablicy na n pierwszych pozycjach
  8. {
  9.     for(int i = 0; i < n; ++i)
  10.         if(tablica[i] == liczba)
  11.             return true;
  12.     return false;
  13. }
  14.  
  15. void wypelnij_tablice(int* tablica, int rozmiar, int minimum, int maximum)
  16. {
  17.     int losowana;
  18.     for (int i=0; i < rozmiar; i++)
  19.     {
  20.         do
  21.         {
  22.             losowana = minimum + rand() % (maximum - minimum + 1);
  23.         }
  24.         while(czy_jest(tablica, i, losowana));                      // dopóki losowana znajduje się w tablicy, będzie losowana nowa wartość
  25.  
  26.         tablica[i] = losowana;
  27.     }
  28. }
  29.  
  30. void wypisz_tablice (int* tablica, int rozmiar)
  31. {
  32.     for( int i= 0; i < rozmiar; i++)
  33.     {
  34.         cout << tablica[i] << '\t';
  35.     }
  36.     cout << endl;
  37. }
  38.  
  39. // sortowanie bąbelkowe z flagą
  40. void sortuj_tablice(int* tablica, int n)
  41. {
  42.     bool flaga;                     // flaga określa czy została wykonana jakakolwiek operacja zamiany wartości w tablicy
  43.     for(int i = 0; i < n; ++i)
  44.     {
  45.         flaga = false;
  46.         for(int j = 0; j < n - 1 - i; ++j)
  47.             if(tablica[j] > tablica[j + 1])
  48.             {
  49.                 swap(tablica[j], tablica[j + 1]);       // zamiana wartości dwóch elementów
  50.                 flaga = true;
  51.             }
  52.         if(!flaga)
  53.             return;
  54.     }
  55. }
  56.  
  57. int main ()
  58. {
  59. // od 1 do 49 i rozmiar 6
  60.  
  61.     int tablica[6];
  62.  
  63.     srand(static_cast<unsigned>(time(nullptr)));
  64.     wypelnij_tablice(tablica, 6, 1, 49);
  65.  
  66.     sortuj_tablice(tablica, 6);
  67.     wypisz_tablice(tablica, 6);
  68.  
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment