Răspuns :
Ai pierdit o paranteza la acest if
if(i%2==0 && prim(a[i][j]==1)), mă refer la verificarea primalitatii
Eu iti propun o altă structură să scoţi acest if din forul lui j, deoarece verifici si pentru linii impare pentru fiecare element din linie... nu e raţional
for(i=1; i<=n; i++)
{
if(i%2==0)
for(j=1; j<=m; j++)
{
if (prim(a[i][j])==1)
{
c++;
}
}
}
#include <iostream>
using namespace std;
int a[100][100];
int prim(int m)
{
int p=1;
if (m<2) p=0;
else if (m==2) p=1;
else
{
if (m%2==0) p=0;
else
{
for (int k=3; k*k<=m && p; ++k)
if (m%k==0) p=0;
}
}
return p;
}
int main()
{
int n, m, i, j, c=0;
cin >> n >> m;
for (i=1; i<=n; ++i)
for (j=1; j<=m; ++j)
cin >> a[i][j];
for (i=2; i<=n; i+=2)
for (j=1; j<=m; ++j)
if (prim(a[i][j])) ++c;
cout << c << endl;
return 0;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.