Informatică, întrebare adresată de Oana0605, 8 ani în urmă

Cerința
Se consideră un șir cu n elemente, numere naturale. Folosind metoda Divide et Impera, determinați suma elementelor pare din acest șir.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.

Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma cerută.

Restricții și precizări
1 ≤ n ≤ 1000
elementele șirului vor fi mai mici decât 1.000.000
se recomandă folosirea metodei Divide et Impera

Răspunsuri la întrebare

Răspuns de netuioanaralucpb3570
1

Răspuns:

#include <iostream>

using namespace std;

int suma_pare_divImp(int v[], int i, int s) {

if (i == s) {

 if (v[s] % 2 == 0) return v[s];

 return 0;

}

int d1 = suma_pare_divImp(v, i, (i + s) / 2);

int d2 = suma_pare_divImp(v, (i + s) / 2 + 1, s);

return d1 + d2;

}

int main()

{

  int n, v[1001], i;

  cin>>n;

  for(i=1;i<=n;i++)cin>>v[i];

  cout<<suma_pare_divImp(v,1,n);

   return 0;

}

Explicație: tot 100 p pe pbinfo.ro


Oana0605: multumesc! imi urmaresti postarile de raspunzi asa repede?:))
netuioanaralucpb3570: Nu, urmaresc toate postarile de informatica1
netuioanaralucpb3570: ai tema?
Oana0605: studiez singura metoda divide et impera
Alte întrebări interesante