Dau CORONA pls..in C++, FARA VECTORI/MATRICI/FOR, doar folosind while si if!!
Se dă un număr natural N. Pentru a fi demn de afișat, a doua cifră trebuie interschimbată cu penultima.
Date de intrare
Se citește un singur număr natural, N.
Date de ieșire
Se afișează numărul N, după ce este demn de această operație.
Restricții
9 < N < 1 000 000 000
Exemplu
Date de intrare
123456
Date de ieșire
153426
Date de intrare
12345
Date de ieșire
14325
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int N,M,pc,dc,pu;
cout << "N= "; cin >> N;
if (N<10) cout << "NU";
else {
if (N<100) {
dc=N%10; pu=N/10;
M=dc*10+pu;
}
else {
if (N<1000) M=N;
else {
pu=(N/10)%10;
int aux=N, z=1;
while (aux>100) {
aux=aux/10; z=z*10;
}
dc=aux%10;
if (dc==pu) M=N;
else {
pu=(N/10)%10;
int aux=N, z=1;
while (aux>100) {
aux=aux/10; z=z*10;
}
dc=aux%10; pc=aux/10;
M=pc*(z*10)+pu*z+N%z;
M=(M/100)*100+dc*10+M%10;
}
}
}
cout << M;
}
return 0;
}
Explicație:
Varibile ajutătoare:
pc - prima cifră
dc - a doua cifră
pu - penultima cifră
z - puterile lui 10