Advertisement
asternauta

C++ Tablice [Naprawic problem z sortowaniem]

Dec 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. void WypiszTablice(int T[], int rozmiar)
  8. {
  9.     int i = 0;
  10.     while (i < rozmiar)
  11.     {
  12.         cout << T[i] << "   ";
  13.         ++i;
  14.     }
  15.     cout << endl;
  16. }
  17.  
  18. int ZnajdzWTab(int l, int tab[], int r)
  19. {
  20.     int i = 0, poz = -1;
  21.     while (poz == -1 && i < r)
  22.     {
  23.         if (tab[i] == l)
  24.             poz = i;
  25.  
  26.         ++i;
  27.     }
  28.  
  29.     return poz;
  30. }
  31.  
  32. int Losuj(int min, int max)
  33. {
  34.     return (rand() % max) + min;
  35. }
  36.  
  37. void LosujDoTablicy(int tab[], int r, int lmin, int lmax)
  38. {
  39.     int i = 0;
  40.     while (i < r)
  41.     {
  42.         tab[i] = Losuj(lmin, lmax);
  43.         ++i;
  44.     }
  45. }
  46.  
  47. /*
  48. int ZnajdzMinWTab(int tab[], int r, int s)
  49. {
  50.     int i = s, min = tab[s-1];
  51.     while (i < r)
  52.     {
  53.         if (tab[i] < min)
  54.             min = tab[i];
  55.  
  56.         ++i;
  57.     }
  58.  
  59.     return min;
  60. }*/
  61. void SortujTablice(int tab[], int r)
  62. {
  63.     //TODO: naprawic prbolem z sortowaniem
  64.  
  65.     int i = 0, j = 0, min, min_poz = 0, tym;
  66.  
  67.     while (i < r)
  68.     {
  69.         j = i;
  70.         min = tab[j];
  71.         j++;
  72.  
  73.         while (j < r)
  74.         {
  75.             if (tab[j] < min)
  76.             {
  77.                 min = tab[j];
  78.                 min_poz = j;
  79.             }
  80.  
  81.             ++j;
  82.         }
  83.  
  84.         tym = tab[i];
  85.         tab[i] = tab[min_poz];
  86.         tab[min_poz] = tym;
  87.  
  88.         ++i;
  89.     }
  90. }
  91.  
  92. main()
  93. {
  94.     const int roz = 10,
  95.               los_min = 1,
  96.               los_max = 10;
  97.  
  98.     int T[roz];
  99.     srand(time(0));
  100.  
  101.     LosujDoTablicy(T, roz, los_min, los_max);
  102.     WypiszTablice(T, roz);
  103.  
  104.     cout << "Posortowana tablica rosnaco: " << endl;
  105.     SortujTablice(T, roz);
  106.     WypiszTablice(T, roz);
  107.  
  108.  
  109.     /*
  110.     cout << "Podaj liczbe: ";
  111.     int liczba;
  112.     cin >> liczba;
  113.  
  114.     int poz = ZnajdzWTab(liczba, T, roz);
  115.     if (poz > -1)
  116.         cout << "Liczba " << liczba << " jest w tablicy na pozycji " << poz << endl;
  117.     else
  118.         cout << "Nie znaleziono wybranej liczby w tablicy" << endl;*/
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement