Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- #include <iterator>
- #include <iostream>
- #include <array>
- using namespace std;
- void swap(int* a, int* b)
- {
- if (a == b)
- return;
- int tmp = *a;
- *a = *b;
- *b = tmp;
- }
- int& compare_and_return_smaller(int& a, int& b)
- {
- if (a >= b)
- return b;
- else
- return a;
- }
- //nie rozumiem dlaczego tak uzyty jest tu template
- template<std::size_t SIZE>
- void PrintArray(std::array<int, SIZE>& arr)
- {
- for (int i = 0; i < arr.size(); i++)
- {
- cout << arr[i] << ",";
- }cout << endl;
- }
- int main()
- {
- 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 };
- PrintArray(tablica);
- //test metod swap i compare and reeturn smaller
- swap(tablica[0], compare_and_return_smaller(tablica[1], tablica[2]));
- PrintArray(tablica);
- //nie no metody dzialaja ok
- for (int i = 0; i < tablica.size(); i++)
- {
- int& do_wymiany = tablica[i];
- for (int k = i + 1; k < tablica.size(); k++)
- {
- do_wymiany = compare_and_return_smaller(do_wymiany, tablica[k]);
- }
- swap(tablica[i], do_wymiany);
- PrintArray(tablica);
- }
- /*
- for (int i = 0; i < tablica.size(); i++)
- {
- int& aktualnie_najmniejszy = tablica[i];
- for (int k = i+1; k < tablica.size(); k++)
- {
- aktualnie_najmniejszy = compare_and_return_smaller(aktualnie_najmniejszy, tablica[k]);
- }
- swap(tablica[i], aktualnie_najmniejszy);
- }
- */
- /*
- for (int i = 0; i < tablica.size(); i++)
- {
- int& najmniejszy_element = tablica[i];
- for (int k = i; k < tablica.size(); k++)
- {
- najmniejszy_element = compare_and_return_smaller(najmniejszy_element, tablica[k]);
- }
- swap(tablica[i], najmniejszy_element);
- PrintArray(tablica);
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement