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 platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru orice întrebări sau sprijin suplimentar, suntem aici pentru voi – nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și vă sugerăm să ne salvați în lista de site-uri preferate!