👤

Ajutor!
Temă de laborator:
Implementați un program C++ care citește 2 numere a și b (cu a < b) și afișează toate numerele impare dintre a și b. Vor fi scrise 3 variante de cod program – câte una pentru fiecare tip de structură repetitivă.


Răspuns :

Răspuns:

#include <iostream>

using std::cout, std::cin, std::endl;

int main() {

 int a, b, j{};

 cout << "Introdu a si b (de ex. 0 10) >> ";

// citim „a” și „b”

 cin >> a >> b;

 // dacă a > b ieșim din program

 if (a > b) {

   exit(EXIT_FAILURE);

 }

 // Prima structură repetitivă, folosim „for”

 cout << "Numerele pare intre " << a << " si " << b << " sunt:\n";

 // care pleacă cu valori de la „a” până la „b”

 for (int i = a; i <= b; ++i) {

   // dacă restul împăriții lui „i” la 2 este diferit de 0 înseamnă că „i” este impar

   if (i % 2 != 0) {

    // și atunci îl afișăm

     cout << i << " ";

   }

 }

 cout << endl;

// a doua structură repetitivă, folosim un „while”

 cout << "Numerele pare intre " << a << " si " << b << " sunt:\n";

 // cât timp „j” este mai mic sau egal decât „b”

 while (j <= b) {

   // aceași idee ca și mai sus

   if (j % 2 != 0) {

     cout << j << " ";

   }

   ++j;

 }

 cout << endl;

 // resetăm j-ul (pentru că el a rămas incrementat de data trecută)

 j = 0;

 cout << "Numerele pare intre " << a << " si " << b << " sunt:\n";

// aceași chestie ca și mai sus, ne folosim acuma de „do while”

 do {

   if (j % 2 != 0) {

     cout << j << " ";

   }

   ++j;

 } while (j <= b);

 cout << endl;

 return 0;

}