Scrieți definiția completă a subprogramului C++ recursiv P care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum șase cifre fiecare.
Subprogramul furnizează prin intermediul parametrului s suma elementelor din tabloul x care au valori numere prime.
0 < n ≤ 100
numele subprogramului cerut este P
parametrii sunt, în această ordine: x, n, s
elementele vectorului x sunt indexate de la zero
se recomandă realizarea unei soluții recursive
Dacă n=6 și x=(12, 7, 6, 3, 8, 5), după apel s=15.
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
using namespace std;
int prim(int x)
{int d;
if(x<2) return 0;
else
for(d=2;d*d<=x;d++) if(x%d==0) return 0;
return 1;
}
void P(int x[100],int n, int &s)
{if(n>0)
{if(prim(x[n-1])) s+=x[n-1];// functia prim= algoritm elementar care testeaza daca x[n-1] este prim
P(x,n-1,s);
}
}
int main()
{int s=0,x[100],n=6,i;
for(i=0;i<n;i++) cin>>x[i];
P(x,n,s);
cout<<s;
return 0;
}
using namespace std;
int prim(int x)
{int d;
if(x<2) return 0;
else
for(d=2;d*d<=x;d++) if(x%d==0) return 0;
return 1;
}
void P(int x[100],int n, int &s)
{if(n>0)
{if(prim(x[n-1])) s+=x[n-1];// functia prim= algoritm elementar care testeaza daca x[n-1] este prim
P(x,n-1,s);
}
}
int main()
{int s=0,x[100],n=6,i;
for(i=0;i<n;i++) cin>>x[i];
P(x,n,s);
cout<<s;
return 0;
}
danutmaftei51:
Ms ,nu inteleg de ce primesc 0 puuncte ,am facut la fel si eu si mereu primesc 0 puncte
Alte întrebări interesante
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă