Sunteți pe pagina 1din 3

1. Se citește un vector cu n numere întregi.

Să se determine elementul maxim din


vector.
#include <iostream>
using namespace std;
int v[20],n;
int Dei(int st, int dr)
{ int x,y,m;
if(st==dr)
return v[st];

else
{m=(st+dr)/2;
x=Dei(st,m);
y=Dei(m+1,dr);
if(x>y)
return x;
else return y;
}
}
int main(){int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
cout<<Dei(1,n);
return 0;
}

2. Se citesc n numere întregi. Să se calculeze cu metoda divide et impera produsul


numerelor care au ultima cifră egală cu 3.

#include <iostream>
using namespace std;
int v[50],n;
int Dei_produs(int st, int dr)
{ int x,y,m;
if(st==dr)
if(v[st]%10==3)
return v[st];
else return 1;
else
{m=(st+dr)/2;
x=Dei_produs(st,m);
y=Dei_produs(m+1,dr);
return x*y;
}
}
int main(){int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
cout<<Dei_produs(1,n);
return 0;
}
3. Sa se calculeze folosind metoda divide et impera suma elementelor unui vector.

#include <iostream>
using namespace std;
int v[50],n;
int Dei_suma(int st, int dr)
{ int x,y,m;
if(st==dr)
return v[st];

else
{m=(st+dr)/2;
x=Dei_suma(st,m);
y=Dei_suma(m+1,dr);
return x+y;
}
}
int main(){int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
cout<<Dei_suma(1,n);
return 0;
}

S-ar putea să vă placă și