Informatică, întrebare adresată de alexajutorteme, 8 ani în urmă

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 de rares256
1

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:


alexajutorteme: Multumesc mult.Stiam sa fac prima parte(de aflat da nr de cifre este par sau impar),dar de inlocuit cu 0 nu ma prindeam.Poti sa mi spui te rog ce inseamna "+=","/=","*=" ?
rares256: a += b este a = a + b;
a *= b este a = a * b;
a /= b este a = a / b;
alexajutorteme: multumesc,noi nu am mai scris asa pana acum
alexajutorteme: Stii cum se da coroana?Nu gasesc...
Alte întrebări interesante