Pentru C++
Se citeste un numar n; nu se cunoaste cate cifre are.
Daca numarul de cifre este impar sa se inlocuiasca cu 0 cifra din mijloc.Altfel sa se afiseze "numarul de cifre nu este impar".
Imi trebuie fara functii si doar cu iostream.
Si cu explicatii va rog frumos.

Răspuns :

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: