Mkios123
Rozwiązane

Zadanie C++
Bardzo proszę o pomoc !!

W pętli generuj liczby losowe całkowite:
-Wypisz na ekranie każdą wygenerowaną liczbę nieparzystą, policz ile ich jest.
- Wypisz maksymalną i minimalną wygenerowaną liczbę.
Program kończy pracę, jeżeli wygenerowana zostanie liczba podzielna przez 7 lub wygenerowanych zostanie 10 liczb. Wykorzystaj dowolną pętlę.



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 ) );

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB