Advertisement
fcamuso

Algoritmi lezione 7

Feb 11th, 2024
1,004
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int trova_minimo(int v[], int sx, int dx)
  6. {
  7.   int min_sx=-1, min_dx = -1;
  8.  
  9.   if (sx==dx) //un elemento solo
  10.   {
  11.     return v[sx];
  12.   }
  13.   else
  14.     if (sx + 1 == dx ) //due elementi
  15.     {
  16.       if (v[sx]<v[dx])
  17.         return v[sx];
  18.       else
  19.         return v[dx];
  20.     }
  21.     else
  22.     {
  23.       int mediano = sx +(dx - sx)/2;
  24.       //cout << sx << " " << mediano << endl;
  25.       min_sx = trova_minimo(v, sx, mediano);
  26.  
  27.       //cout << mediano+1 << " " << dx << endl;
  28.       min_dx = trova_minimo(v, mediano+1, dx);
  29.     }
  30.  
  31.     if (min_sx<min_dx)
  32.       return min_sx;
  33.     else
  34.       return min_dx;
  35. }
  36.  
  37.  
  38. int main()
  39. {
  40.     int v[]={18,6,2,20,1,40,7,8,12,60};
  41.     cout << trova_minimo(v, 0, 9);
  42.     return 0;
  43. }
  44.  
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement