👤

1.Se considera un sir A de n elemente nr intregi. Se cere sa se calculeze suma si produsul elementelor pare ale sirului daca exista. Fie n=5 si a=(2,7,8,1,3) atunci suma=13 si produsul 16


2.se considera un sir A de n elemente nr intregi. Se cere sa se calculeze suma si produsul nr prima daca exista


3.se considera un sir A de n elemente nr intregi. Se cere sa se calculeze si sa se afiseze produsul elementelor prime ale sirului A daca exista


Răspuns :

Pentru 1):

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    size_t n;
    int A[1001];

    cin >> n;
    for(size_t i = 0; i < n; ++i)
        cin >> A[i];
    cout << "Suma: " << accumulate(A, A + n, 0, [](int init, int add) { return (~add & 1) ? init + add : init; }) << "\n"
         << "Produsul: " << accumulate(A, A + n, 1, [](int init, int mult) { return (~mult & 1) ? init * mult : init; });
    return 0;
}


Toate au acelasi inceput, voi scrie pe parcurs pentru fiecare punct separat.
#include <iostream>using namespace std;int main(){int A[100],n,i,s=0,p=1,ok,jcin>>n; //punctul 1for (i=1;i<=n;i++) {cin>>A[i]; if(A[i]%2==0) {s=s+A[i];p=p*A[i];};};if (s!=0) cout<<s<<" "<<p; //daca s!=0, inseamna ca s-a gasit minim un nr par, deci nu mai punem conditie si pentru produs//punctul 2for (i=1;i<=n;i++) {cin>>A[i]; ok=1; for (j=2;j<=A[i]/2;j++) if (A[i]%j==0) ok=0; if (ok==1) {s=s+A[i];p=p*A[i];};}if (s!=0) cout<<s<<" "<<p; //la fel ca la punctul 1; nu se cere in mod neaparat si afisarea totusi//punctul 3 este la fel ca punctul 2, doar ca fara sumareturn 0;}La punctul 1 nu inteleg cum s-a calculat suma in exemplu :-?