Advertisement
bloowper

Untitled

Dec 16th, 2019
520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <string>
  2. #include <iterator>
  3. #include <iostream>
  4.  
  5. #include <array>
  6. using namespace std;
  7.  
  8. void swap(int* a, int* b)
  9. {
  10.     if (a == b)
  11.         return;
  12.     int tmp = *a;
  13.     *a = *b;
  14.     *b = tmp;
  15. }
  16.  
  17. int& compare_and_return_smaller(int& a, int& b)
  18. {
  19.     if (a >= b)
  20.         return b;
  21.     else
  22.         return a;
  23. }
  24.  
  25.  
  26.  
  27. //nie rozumiem dlaczego tak uzyty jest tu template
  28. template<std::size_t SIZE>
  29. void PrintArray(std::array<int, SIZE>& arr)
  30. {
  31.     for (int i = 0; i < arr.size(); i++)
  32.     {
  33.         cout << arr[i] << ",";
  34.     }cout << endl;
  35. }
  36.  
  37. int main()
  38. {
  39.     std::array<int,30> tablica{ 75,3,40,40,68,1,8,32,22,22,73,2,91,55,73,18,97,53,63,73,49,26,15,92,4,86,8,2,17,62 };
  40.     PrintArray(tablica);
  41.  
  42.     //test metod swap i compare and reeturn smaller
  43.     swap(tablica[0], compare_and_return_smaller(tablica[1], tablica[2]));
  44.     PrintArray(tablica);
  45.     //nie no metody dzialaja ok
  46.  
  47.  
  48.  
  49.     for (int i = 0; i < tablica.size(); i++)
  50.     {
  51.         int& do_wymiany = tablica[i];
  52.  
  53.         for (int k = i + 1; k < tablica.size(); k++)
  54.         {
  55.                 do_wymiany = compare_and_return_smaller(do_wymiany, tablica[k]);
  56.         }
  57.         swap(tablica[i], do_wymiany);
  58.         PrintArray(tablica);
  59.     }
  60.  
  61.     /*
  62.     for (int i = 0; i < tablica.size(); i++)
  63.     {
  64.         int& aktualnie_najmniejszy = tablica[i];
  65.  
  66.         for (int k = i+1; k < tablica.size(); k++)
  67.         {
  68.             aktualnie_najmniejszy = compare_and_return_smaller(aktualnie_najmniejszy, tablica[k]);
  69.         }
  70.         swap(tablica[i], aktualnie_najmniejszy);
  71.        
  72.     }
  73.     */
  74.  
  75.     /*
  76.     for (int i = 0; i < tablica.size(); i++)
  77.     {
  78.         int& najmniejszy_element = tablica[i];
  79.         for (int k = i; k < tablica.size(); k++)
  80.         {
  81.             najmniejszy_element = compare_and_return_smaller(najmniejszy_element, tablica[k]);
  82.         }
  83.         swap(tablica[i], najmniejszy_element);
  84.         PrintArray(tablica);
  85.     }*/
  86.  
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement