Se da un vector v cu n numere intregi. Scrieți un program C++ care determina simultan suma și produsul elementelor din vector utilizând metoda Divide et Impera.
exemplu :
n=5
1 33 -15 70 9
suma = 98
produs = - 311850
boiustef:
ce ai în vedere simultan? la un apel sau la două apeluri dar acelaşi subprogram?
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int n, v[1001], i, s, p;
void SumaProd(int v[], int st, int dr, int &s, int &p)
{
if (st==dr)
{
s=v[st]; p=v[st];
}
else
{
int m=(st+dr)/2;
int s1=0, p1=1; SumaProd(v,st,m,s1,p1);
int s2=0, p2=1; SumaProd(v,m+1,dr,s2,p2);
s=s1+s2;
p=p1*p2;
}
}
int main()
{
cin >> n;
for (i=1; i<=n; ++i)
cin >> v[i];
SumaProd(v, 1, n, s,p);
cout << "suma= " << s << "\n";
cout << "produsul= " << p;
}
Explicație:
Alte întrebări interesante
Istorie,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă