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

Se citesc numere intregi pana la intalnirea numarului 0. Sa se afiseze toate tripletele de numere consecutiv, cu proprietatea ca ele pot reprezenta laturile unui triunghi.

In C++ va rog, cu comanda While sau Do while

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

using namespace std;

void print(int a, int b, int c)

{

   cout << "("<< a << "," <<b<<","<<c<<")"<< "\n";

}

bool triunghi(int a, int b, int c)

{

   if (a+b>c && a+c>b && b+c>a) return true;

   else return false;

}

int main()

{

   int  a, b, c;

   cin >> a;

   if (a==0) cout << "NU EXISTA";

   else

   {

       cin >> b;

       if (b==0) cout << "NU EXISTA";

       else

       {

           cin >> c;

           if (c==0) cout << "NU EXISTA";

           else

           {

               int triplete=0;

               if (triunghi(a,b,c)) {print(a,b,c); ++triplete;}

               int num;

               cin >> num;

               while (num)

               {

                   a=b;

                   b=c;

                   c=num;

                   if (triunghi(a,b,c)) {print(a,b,c); ++triplete;}

                   cin >> num;

               }

              if (triplete==0)

                  cout << "NU EXISTA";

           }

       }

   }

   return 0;

}


Dreammer: acesta nu e pentru isoscel cumva?
boiustef: de ce crezi?? e pt oarecare. pt isiscel tr sa se mai verifice daca sunt doua laturi egale
Alte întrebări interesante