Witam, mam za zadanie napisanie programu, który wyświetli wszystkie liczby pierwsze z zakresu od 2 do 20 oddzielone spacjami w dwóch oddzielnych linijkach (wyświetli dwie takie same linijki). Tylko, że wyświetlenie pierwszej linijki ma być efektem wysłania na standardowe wyjście std::cout jednego literału tekstowego. O ile samo wypisanie liczb pierwszych nie jest jakimś wielkim kłopotem, to już wyświetlenie je w taki sposób sprawia mi problem. Ma ktoś pojęcie jak to zrobić? Póki co wpadłem na coś takiego:
#include <iostream>
#include <string>
#include <iomanip>
// zad 1
auto main() -> int
{
int p = 2, i, x=0, tab[8];
bool t;
std::string str;
while(p <= 20){
t = true;
for(i = 2; i < p; i++)
if(p % i == 0)
{
t = false;
break;
}
if(t)
{
tab[x]=p;
}
x++;
p++;
}
for(int j = 0; j < 8; j++)
{
str[j]=tab[j];
}
std::cout<<str<<std::endl;
return 0;
}
Jak można się domyśleć, kod nie działa. Czy byłby ktoś w stanie w tym pomóc? Z góry dzięki!