Informatică, întrebare adresată de mihai7948, 8 ani în urmă

Dacă x și y sunt două numere naturale cu x ≤ y, atunci notăm cu s(x,y) suma numerelor naturale cuprinse între x și y. De exemplu, s(3,6) = 3+4+5+6 = 18, iar s(7,7) = 7.

Se dau numerele naturale a, b și c, unde a ≤ b ≤ c. Calculați s(a,b), s(b,c) și s(a,c).

C++
Clasa a IX-a

Repede va rog!

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <iostream>

static void calculeazaSiAfiseaza(int a, int b)

{

   int sumaNumere{};

   std::cout << "s(" << a << "," << b << ") = ";

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

   {

       (i == b) ? std::cout << i : std::cout << i << " + ";

       sumaNumere += i;

   }

   std::cout << " = " << sumaNumere << std::endl;

}

static void calculeazaSumele(int a, int b, int c)

{

   calculeazaSiAfiseaza(a, b);

   calculeazaSiAfiseaza(b, c);

   calculeazaSiAfiseaza(a, c);

}

int main()

{

   int a{}, b{}, c{};

   std::cout << "Introdu a, b si c (de ex. 3 6 7) >> ";

   std::cin >> a >> b >> c;

   (a > b || b > c || a > c)

       ? exit(EXIT_FAILURE)

       : calculeazaSumele(a, b, c);

   return 0;

}

Explicație:

Citești cele 3 numere, verifici dacă condiția a ≤ b ≤ c. Dacă condiția e adevărată pentru cele trei numere treci mai departe altfel ieși din program. calculeazaSumele(...) o să apeleze calculeazaSiAfizeaza(...) care efectiv îți afișează frumos suma celor 2 numere ( de la primul la al doilea inclusiv ).

Alte întrebări interesante