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ăspunsuri la întrebare
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:
a *= b este a = a * b;
a /= b este a = a / b;