ktoś widzi błąd w kodzie
um... wiele.
Przeformatuję:
for(int i = 1; i<=a; i++){
if(tab[i]<2){}
for(int j=2; j*j<=tab[i];j++) {
if(tab[i]%j==0) {}
else { std::cout<< " " <<tab[i]; }
}
}
for(int i = 1; i<=a; i++){
Wychodzisz poza tablicę.
if(tab[i]<2){}
Ta linia nic nie robi.
else { std::cout<< " " <<tab[i]; }
A to oznacza, że wypisujesz liczbę za każdym razem, gdy trafisz na j-ta przez którego się nie dzieli - nie. Na przykład, 10 nie dzieli się przez 3, więc się wypisze 10.