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:
#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....