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

Se citeste de la tastatura un nr. natural de exact 3 cifre. Scrieti un algoritm care sa elimine una dintre cifrele numarului astfel incat numarul de doua cifre ramas sa fie maxim.

Răspunsuri la întrebare

Răspuns de AfloareiAndrei
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{

 int numar, a=0, b=0;

 cout << "Numar din 3 cifre: ";

 cin >> numar;

 //(prima cifra  >=  a doua cifra)

 if((numar / 100) >= (numar / 10 - (numar / 100) * 10))

 {

   a = numar / 100;

   //(a doua cifra  <=  a treia cifra)

   if((numar / 10 - (numar / 100 * 10)) <= (numar - (numar / 10) * 10))

   {

     b = numar - (numar / 10) * 10;

   }

   else

   {

     b = numar / 10 - (numar / 100) * 10;

   }

 }

 //(prima cifra <= a doua cifra)

 else if((numar / 100) <= (numar / 10 - (numar / 100) * 10))

 {

   a = numar / 10 - (numar / 100) * 10;

   b = numar - (numar / 10) * 10;

 }

 cout << a << b << endl;

 return(0);

}

Explicație:

ex:   xyz

La primul 'if' verific  x >= y.

       daca x >= y verific  y <= z.

La 'else if' verific daca x <= y.

       daca e adevarat singura inseamna ca cel mai mare nr este format din ultimele 2 cifre

am folosit >= si <= pentru ca asa functioneaza si cu numere  331, 112....

Alte întrebări interesante