Cześć,
mam o to taki programik:
int[] tab = new int[100];
Random rnd = new Random();
int ile = 0;
for (int i = 0; i < tab.Length; i++)
{
tab[i] = rnd.Next(1, 1000);
}
for (int j = 0; j < tab.Length; j++)
{
bool czypierwsza = true;
for (int i = 2; i <= Math.Sqrt(tab[j]); i++)
{
if (tab[j] % i == 0)
{
czypierwsza = false;
break;
}
}
if (tab[j] < 2)
{
czypierwsza = false;
}
if (czypierwsza)
{
ile++;
}
}
Console.WriteLine("Ilość liczb pierwszych: {0}", ile);
Program ma za zadanie sprawdzać czy element tablicy jest liczbą pierwszą a nastepnie zliczyc ich ilość.
Program jednak nie działa prawidłowo w momencie deklaracji zmiennej czypierwsza
w miejscu deklaracji pozostałych zmiennych takich jak na przykład tablica. Trzeba ją zadeklarować w momencie zainicjalizowania pierwszej pętli która sprawdza czy element jest liczbą pierwszą.
Dlaczego to tak działa?
Pytam bo początkowo deklarowałem ją na początku programu i po długiej chwili sprawdzania każdej linijki okazało się że chodzi o to..