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

se da un numar natural n.se cere sa se determine numarul obtinut din n,dar care are cifrele in ordinea inversa.

Răspunsuri la întrebare

Răspuns de ionatanferariu
1

Răspuns:

Ai rezolvarea în poză. Numărul obținut prin inversarea cifrelor sale se numește oglindit. Am pus o variabilă numită ogl, pe care am inițializat-o cu 0. Vei observa pe parcurs cum funcționează. Iar n%10 reprezintă ultima cifră a numărului n, în timp ce n/10 taie ultima cifră a acestui număr.

Să vedem cum funcționează. Să presupunem că n=1234.

Se execută instrucțiunea while atât timp cât n mai are cifre, adică este diferit de zero. Reține că while(n) are același efect ca și while(n!=0).

Se calculează variabila ogl. ogl = 0 * 10 + 1234%10 => 0 + 4 => ogl = 4.

n /= 10 este echivalent cu n = n / 10 => n = 1234 / 10 => n = 123. Cum am mai spus, instrucțiunea n/=10 taie ultima cifră a numărului n.

Întrucât 123 nu este egal cu 0, instrucțiunea se va executa în continuare. ogl = 4 * 10 + 123 % 10 => ogl = 40 + 3 => ogl = 43.

n = 12.

Acum e rândul tău să-ți dai seama cum vine. Încearcă și pentru alte numere.

Anexe:
Răspuns de bujorandrei
0

#include <iostream>

using namespace std;

int main()

{

   int n,rest,oglindit=0;

   cin>>n;

   while (n!=0)

   {

      rest = n % 10l;

      oglindit = oglindit * 10 + rest;

      n = n /10;

   }

   cout<<oglindit;

   return 0;

}

Sper că te-am ajutat, coroană? :)

Alte întrebări interesante