Răspuns :
#include <iostream>
using namespace std;
int i, j, a[102][102], n, m, prim, nr, d;
int main()
{
cin>>n>>m;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
cin>>a[i][j];
for(j=1; j<=m; j++)
{
if(a[1][j]==1 or a[1][j]==0)
prim=0;
else prim=1;
for(d=2; d*d<=a[1][j]; d++)
if(a[1][j]%d==0)
prim=0;
if(prim==1)
nr++;
}
for(j=1; j<=m; j++)
{
if(a[n][j]==1 or a[n][j]==0)
prim=0;
else prim=1;
for(d=2; d*d<=a[n][j]; d++)
if(a[n][j]%d==0)
prim=0;
if(prim==1)
nr++;
}
for(i=2; i<n; i++)
{
if(a[i][1]==1 or a[i][1]==0)
prim=0;
else prim=1;
for(d=2; d*d<=a[i][1]; d++)
if(a[i][1]%d==0)
prim=0;
if(prim==1)
nr++;
}
for(i=n-1; i>=2; i--)
{
if(a[i][n]==1 or a[i][n]==0)
prim=0;
else prim=1;
for(d=2; d*d<=a[i][n]; d++)
if(a[i][n]%d==0)
prim=0;
if(prim==1)
nr++;
}
cout<<nr<<endl;
for(i=1; i<=n; i++)
for(j=2; j<=m; j++)
{
if(a[i][j-1]==1 or a[i][j-1]==0)
prim=0;
else prim=1;
for(d=2; d*d<=a[i][j-1]; d++)
if(a[i][j-1]%d==0)
prim=0;
if(prim==1)
cout<<a[i][j]<<' ';
}
return 0;
}
Algoritmul este testat, dar nu stiu sigur daca este valabil in toate cazurile. Sunt multe instructiuni si risc de a gresi. Banuiesc ca poate fi facut intr-o forma mai simpla, dar am ales sa-l scriu pe bucati ca sa fiu mai sigura. Sper ca te-am ajutat si ca programul functioneaza corect.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!