Răspuns:
#include <iostream>
using namespace std;
int n, zece = 1, cpy, k, i;
int main()
{
cin >> n;
int m = n;
while(m) ///numaram cate cifre are numarul
m /= 10, i++;
if(i % 2 == 1) ///nr impar
{
k = i;
k /= 2; ///numarul de cifre luate in dreaota numarului pana la mijloc
while(k)
zece *= 10, k--;
cpy = n % zece; ///numarul format din cifrele din dreapta mijlocului
n /= zece; ///n ajunge sa aiba ultima cifra = cifra din mijloc
n = n - n % 10; ///inlocuim ultima cifra cu 0
n *= zece;
n += cpy; ///adunam cirfele pe care le-am pierdut prin impartirea lui n la "zece"
cout << n;
}
else ///nr par
cout << "numarul de cifre nu este impar";
return 0;
}
Explicație: