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 pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de sprijin suplimentar, vă încurajăm să ne contactați. Revenirea dumneavoastră ne bucură, iar dacă v-a plăcut, nu uitați să adăugați site-ul nostru la favorite!