Răspuns :
#include <iostream>
using namespace std;
int main(){
long n,cif=1;
//Citeste nr
cin >> n;
//Determina puterea lui 10 care are numar egal de cifre cu n
while(cif<=n)cif*=10;
cif/=10;
//Determina componente
int prim = n/cif;
int doi = n/(cif/10)%10;
int mijloc = (n-prim*cif-doi*(cif/10))/100;
int penultima = (n%100)/10;
int ultima = n%10;
//Construieste numarul cerut
cout << prim << penultima << mijloc << doi << ultima;
}
Nota : Solutia este una simpla, usor de inteles si nu functioneaza pentru integ setul de date de intrare (mai ales cand nu exista valori intre a doua si penultima cifra ori exista cifre nule). O rezolvare bazata pe vectori ar futea fi mult mai robusta si ar putea rezolva limitarile acestei solutii. Pe exemplul dat solutia functioneaza perfect, dupa cum poti vedea in imagine.

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru întrebări sau asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!