Informatică, întrebare adresată de xfaiter02, 9 ani în urmă

Va rog cineva sa-mi spuna ce am gresit la programul meu..imi zice ca in functia main "n" este neinitializat ceva de genu'..Va dau si enuntul problemei: Se dă un șir cu n numere naturale. Determinați câte dintre ele sunt prime și au suma cifrelor un număr prim.


#include <iostream>

using namespace std;

int prim(int a)
{ if(a<2)
return 0;
for(int d=2;d<=a/2;d++)
if(a%d==0)
return 0;
return 1;
}

void citire(int v[100],int n)
{ int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
}
int suma(int a)
{ int c,s=0;
while(a)
{ c=a%10;
s=s+c;
a=a/10;
}
return s;
}
int prelucrare(int v[100],int &n)
{ int i,nr=0;
for(i=0;i<=n;i++)
{if(prim(v[i]) && prim(suma(v[i])))
nr++;}
return nr;
}

int main()
{ int v[100],n;
citire(v,n);
cout<<prelucrare(v,n)
 return 0;
}

Răspunsuri la întrebare

Răspuns de MindShift
4
#include <iostream>
using namespace std;

int main(){
int n , x;

cin >> n;

int rez = 0

for(int i = 1 ; i <= n; i++){
cin >> x;

int prim = 1;
if(x<2)
prim  = 0;
if(x % 2 == 0 && x > 2)
prim = 0;
for(int d = 3; d * d <= x && prim == 1; d++)
if(x % d == 0)
prim = 0;

if(prim ==1){
int y = x;
int s = 0;
while(x)
s + = x % 10, x /= 10;

if(s<2)
prim = 0;
if(s % 2 == 0 && s > 2)
prim = 0;
for(int d = 3; d*d <= s && prim == 1 ; d++)


}
}

count <<rez;
return 0;
}

xfaiter02: nu prea inteleg rezolvarea...sunt intr-a 9-a si de abia am inceput functiile
Alte întrebări interesante