consider ca te complici prea mult incercand sa nu folosesti matrice, cel mai bibe ar fii sa-o construiesti, poti sa folosesti chiar boolean pentru a crea una ce utilizeaza mai putina memorie.
Construiesti matricea si pui 1 la cele prime, 0 la celelaltr; apoi o reparcurgi , insa de data aceasta mergi pe coloane si iei sirul care-l gasesti cel mai lung.
CODUL(pentru citit si cautat sirul cel mai lung):
in >>n>>m;
bool matrice [1000][1000];
for (int i=0;i <m;i++)
for (int j=0;j <n;j++)
{
in>>a;
if (!prim [a])
matricr [i][j] = 1;
else
matrice[i][j] = 0 ;
}
int max=0,numara=0;
for (int j=0;j <n;j++)
for (int i=0;i <m;i++)
{
if (matrice [i][j] == 1)
numara++;
else
numara =0;
if (numara >max)
max = numara;
}
out << max;
Sper ca te ajuta, daca ai intrebari, nu ezita sa intrebi; bafta. :)