👤

Folosind metoda Divide et impera, sa se calculeze maximul dintr-un vector cu n componente numere reale.

Răspuns :

#include <iostream>

using namespace std;

double vmax(double v[100],int s,int d)

{

 if(s==d)

   return v[s];

 else

  {

       int m=(s+d)/2;

       double m1=vmax(v,s,m);

        double m2=vmax(v,m+1,d);

       if(m1>m2)

            return m1;

        return m2;

  }

}

int main()

{

  int n,i;

 double v[100];

 cin>>n;

  for(i=0;i<n;i++)

      cin>>v[i];

 cout<<vmax(v,0,n-1);

 return 0;

}