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ăspuns :

Răspuns:

Raspuns

Explicație:

#include <iostream>

using namespace std;

int main()

{

   int putere=1; /// putere

   int n,penultima_cif,ultima_cif,a_doua_cifra; /// citire variabila + cifrele din problema

   int cnt=0; /// contor

   int copn; /// copie n

   int finale; /// numarul final dupa schimbare

   cin>>n;

   if(n<=999){

       cout<<n;

       return 0;

   }

   copn=n;

   penultima_cif=n/10%10;

   while(copn!=0)

   {

       copn/=10;

       putere*=10;

   }

   putere/=100;

   ultima_cif=n%10;

   a_doua_cifra=n/putere%10;

   finale=(n/putere/10*10+penultima_cif)*putere+(n%putere)/100*100+a_doua_cifra*10+ultima_cif;

   cout<<finale;

   return 0;

}