Odpowiedź :
Odpowiedź
Owszem można wykorzystać dowolną pętlę, :) jednak najbardziej naturalną jest pętla do {} while ().
Oprócz kodu źródłowego (w pierwszym załączniku) pokazałam jak wyglądają trzy różne możliwe zakończenia programu
- koniec pętli po wygenerowaniu 10 liczb,
- koniec pętli gdy zostanie wygenerowana liczba podzielna przez 7,
- koniec pętli po wygenerowaniu 10 liczb podczas gdy ostatnią wygenerowaną liczbą jest liczba podzielna przez 7; w tym przypadku istotna jest kolejność warunków sprawdzanych na zakończeniu pętli, gdy pierwszy nie jest prawdziwy wtedy drugi warunek już w ogóle nie jest sprawdzany; akurat jako pierwszy warunek podałam sprawdzanie licznika wszystkich wygenerowanych liczb.
Wyjaśnienie
Funkcja rand() generuje liczby typu int z zakresu od 0 do RAND_MAX. Dla różnych kompilatorów wielkość RAND_MAX jest różna. Przykładowo w popularnych środowiskach Visual Studio oraz Code::Blocks RAND_MAX wynosi 32767, podczas gdy w replit oraz OnlineGDB wynosi 2147483647.
Tak, właśnie tak ma być srand( time( nullptr ) );