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

Cineva? Un exercițiu măcar...​

Anexe:

Răspunsuri la întrebare

Răspuns de voinescubianca01
1

Răspuns:

Nu ma pricep la info, dar voi atașa niște poze cu formule, poate te ajuta.

Explicație:

În prima e cu triunghi, în a doua cu ultima cifra.

Anexe:

LauraDiamond2006: Mulțumesc mult!
Răspuns de Apollyon
0

Răspuns:

#include <iostream>

#include <cmath>

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

{

   int max = std::max({a, b, c});

   if (a == max)

       (a * a == (b * b) + (c * c)) ? std::cout << "Este triunghi dreptunghic\n" : std::cout << "Nu este triunghi dreptunghic\n";

   else if (b == max)

       (b * b == (a * a) + (c * c)) ? std::cout << "Este triunghi dreptunghic\n" : std::cout << "Nu este triunghi dreptunghic\n";

   else

       (c * c == (a * a) + (b * b)) ? std::cout << "Este triunghi dreptunghic\n" : std::cout << "Nu este triunghi dreptunghic\n";

}

static int numarCifre(int varNumar)

{

   return int(log10(varNumar) + 1);

}

static int verificaNumar(int varNumar)

{

   if (varNumar % 10 == (varNumar / 10) % 10)

       return (varNumar / 1000) % 10;

   return -1;

}

int main()

{

   // 1. Se dau trei numere a, b și c. Realizați un program care verifică dacă triunghiul este dreptunghic.

   int a{3}, b{4}, c{5};

   verificaTriunghi(a, b, c);

   // 2. Se dau două numere a și b. Să se afișeze ultima cifră a celui mai mare număr

   std::cout << "Ultima cifra a celui mai mare numar >> ";

   (a > b) ? std::cout << a % 10 << "\n" : std::cout << b % 10 << "\n";

   // 3. Se dă un număr natural n. Dacă ultimele două cifre sunt egale se va afișa cifra miilor.

   int n{1024};

   if (numarCifre(n) >= 4)

   {

       int cifraMiilor = verificaNumar(n);

       cifraMiilor != -1

           ? std::cout << "Cifra miilor este >> " << cifraMiilor << "\n"

           : std::cout << "Numarul nu indeplineste cerintele\n";

   }

   else

       std::cout << "Numarul nu indeplineste cerintele\n";

   return 0;

}

Explicație:
La aia cu triunghiul ca să fie dreptunghic trebuie să verifici dacă latura cea mai mare la pătrat este egală cu suma celorlalte două laturi la pătrat.

La al doilea efectiv verifici care e mai mare dintre cele două numere și-i afișezi ultima cifră cu nr % 10.

La al treilea exercițiu verifici dacă numărul este format din 4 sau mai multe cifre. Dacă îndeplinește cerința asta verifici dacă ultimele două cifre sunt egale. Dacă sunt egale returnezi cifra miilor. Dacă nu, returnezi -1. Dacă verificaNumar(...) returnează -1 înseamnă că cifrele n-au fost egale și afișezi că „Numarul nu îndeplinește cerințele”. La fel și dacă are mai puțin de 4 cifre.

https://www.tutorialspoint.com/determining-how-many-digits-there-are-in-an-integer-in-cplusplus
( pentru explicația funcției numarCifre(...) și versiunea mai „ușoară” )


LauraDiamond2006: Mersii mult
Alte întrebări interesante