Witaj, Twój kod:
int max = 100;
int min = 0;
int cz = 0;
for (cz = rand() % (max - min + 1) + min; cz % 5 == 0;)
{
cout << cz << endl;
}
To tak naprawdę poniższa pętla:
for (int i = rand() % 101; i % 5 == 0;)
cout << i << endl;
Losujesz liczbę z przedziału od 0 do 100. Jeżeli wylosowana liczba dzieli się przez 5, to pokazujesz ją w nieskończoność. Natomiast w przypadku wylosowania liczby niepodzielnej przez 5 nic nie robisz.
Wywołana funkcja powinna wylosować parę liczb dopóki nie będzie ona podzielna przez 5.
Powinieneś więc napisać następująco:
for (int i = rand() % 101; i % 5 != 0; i = rand() % 101)
cout << i << endl;
Większą czytelność możesz uzyskać poprzez zastosowanie pętli while. Przepisałem dla Ciebie całą funkcję poniżej:
void for3()
{
srand(time(NULL));
int max = 100;
int min = 0;
int cz = rand() % (max - min + 1) + min;
while (cz % 5)
{
cout << cz << endl;
cz = rand() % (max - min + 1) + min;
}
}
PS
Zapis:
while (cz % 5)
To to samo co:
while (cz % 5 != 0)