MeehoweCK

Untitled

Apr 6th, 2023
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. // zadanie 8.
  8.  
  9. const int N = 10;
  10.  
  11. void wypelnij_tablice(int* tablica)
  12. {
  13.     srand(time(nullptr));   // ustawienie parametru losowania
  14.     for(int i = 0; i < N; ++i)
  15.         tablica[i] = rand();        // przypisanie do tablica[i] liczby losowej z zakresu od 1 do 32767
  16. }
  17.  
  18. void wypisz_tablice(int* tablica)
  19. {
  20.     for(int i = 0; i < N; ++i)
  21.         cout << tablica[i] << '\t';     // wypisanie wartości tablica[i] na ekran
  22.     cout << endl;
  23. }
  24.  
  25. void sortuj(int* tablica)       // sortowanie przez wybieranie
  26. {
  27.     int pozycja_min;
  28.     int pozycja_max;        // utworzenie zmiennej przechowującą indeks elementu o największej wartości
  29.     for(int i = 0; i < N - 1; ++i)
  30.     {
  31.         pozycja_min = i;
  32.         pozycja_max = N - i - 1;
  33.  
  34.         // wyszukanie elementu o największej i najmniejszej wartości w podzbiorze nieposortowanym
  35.         for(int j = i + 1; j < N - i; ++j)
  36.         {
  37.             if(tablica[j] < tablica[pozycja_min])
  38.                 pozycja_min = j;
  39.             else if(tablica[j] > tablica[pozycja_max])
  40.                 pozycja_max = j;
  41.         }
  42.         swap(tablica[i], tablica[pozycja_min]);
  43.         swap(tablica[N - i - 1], tablica[pozycja_max]);
  44.     }
  45. }
  46.  
  47. int main()
  48. {
  49.     int tablica[N];     // tworzę tablicę 10-elementową
  50.     wypelnij_tablice(tablica);
  51.     wypisz_tablice(tablica);
  52.     sortuj(tablica);
  53.     wypisz_tablice(tablica);
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment