-nodo-

Conquer

Feb 1st, 2022 (edited)
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. unsigned const n = 8;
  6.  
  7. void input(int array[]) {
  8.     int t;
  9.     for (int i = 0; i < n; ++i) {
  10.         cout << "Podaj " << i + 1 << " element: ";
  11.         cin >> t;
  12.         array[i] = t;
  13.     }
  14. }
  15.  
  16. void output(int array[]) {
  17.     cout << "[";
  18.     for (int i = 0; i + 1 < n; ++i)
  19.         cout << array[i] << ", ";
  20.    
  21.     cout << array[n - 1] << "]" << endl;
  22. }
  23.  
  24. int mini(int array[]) {
  25.     int m = array[0];
  26.  
  27.     for (int i = 0; i < n / 2; ++i)
  28.         if (array[i] < m) m = array[i];
  29.    
  30.     return m;
  31. }
  32.  
  33. int maxi(int array[]) {
  34.     int m = array[0];
  35.  
  36.     for (int i = 0; i < n / 2; ++i)
  37.         if (array[i] > m) m = array[i];
  38.  
  39.     return m;
  40. }
  41.  
  42. void conquer(int array[]) {
  43.     int low[n /2], high[n / 2];
  44.        
  45.     for (int i = 0; i < n / 2; i++) {
  46.         if (array[i * 2] < array[i * 2 + 1]) {
  47.             low[i] = array[i * 2];
  48.             high[i] = array[i * 2 + 1];
  49.         }
  50.        
  51.         else {
  52.             high[i] = array[i * 2];
  53.             low[i] = array[i * 2 + 1];
  54.         }
  55.     }
  56.    
  57.     cout << "mini: " << mini(low) << endl;
  58.     cout << "maxi: " << maxi(high) << endl;
  59. }
  60.  
  61. int main() {
  62.     int tablica[n];
  63.  
  64.     input(tablica);
  65.     output(tablica);
  66.     conquer(tablica);
  67.  
  68.     return 0;
  69. }
Add Comment
Please, Sign In to add comment