Witam!
piszę program w którym potrzebuje znać liczby pierwsze w przedziale <0, x>. Funkcja ma działać w ten sposób że w tablicy[x-1] są wartości <2, x>. Elementom tablicy które nie maja liczb pierwszych jest przypisywana wartość 1. Jednak gdy program dochodzi do tej funkcji i przestaje działać. Oto ta funkcja:
//... program...
int* pierwsze = new int[x - 1];
liczby_pierwsze(pierwsze, x);
//..............
void liczby_pierwsze(int tab[], int n)
{
for (int i = 0; i < n; i++)
tab[i] = i + 2;
for (int i = 0, x = 2; x < sqrt(n); i++, x++) {
if (tab[i] != 1) {
for (int k = i + 1; i <= n; k++) {
if (tab[k] % tab[i] == 0)
tab[k] = 1;
}
}
}
}
Możecie mi pomoc znaleźć błąd?
Z góry dzięki :)