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

Cum pot adauga o cifra in fata unui numar folosind doar while si if(fara vectori,tablouri,functii si alte lucruri)
De exemplu:
Input: 225 6
Output: 6225 12450(trebuie afisat si dublul rezultatului)

Răspunsuri la întrebare

Răspuns de UzumakiKushina
1

Răspuns:

#include <iostream>

using namespace std;

int n, nr, d, aux;

int main()

{

   cin>>n>>nr;

   while(n)

   {

       aux=aux*10+n%10;

       n/=10;

   }

   n=0;

   aux=aux*10+nr;

   while(aux)

   {

       n=n*10+aux%10;

       aux/=10;

   }

   cout<<n<<' '<<n*2;

   return 0;

}


abagiumihai: while-ul merge la infinit nu ai pus conditii
UzumakiKushina: while-ul merge pana cand n devinde 0
UzumakiKushina: ii bun programul, l-am verificat
abagiumihai: oh , scuze, de obicei eu personal pun mereu conditii,nu stiam.Mersi ca ai spus.
UzumakiKushina: cu placere
rollinn20: mersi mult de tot!!functioneaza programul doar ca am o mica problema...gen daca scriu: 098 2 imi afiseaza 298 in loc de 2098...sau daca scriu 890 2 imi afiseaza 289 in loc de 2890...pot face ceva ca sa nu il mai pierd pe 0,tot am citit pe net ca trebuie sa ma folosesc de puterile lui 10 dar nu prea imi dau seama cum sa fac asta.
rollinn20: Crezi ca ma poti ajuta sa rezolv si problema asta,m-am uitat si pe net dar nu am gasit nimic care sa ma ajute sa nu pierd 0-urile
Răspuns de abagiumihai
1

Răspuns:

Fa uite asa:

Declara un nr s=1 un nr. a si un nr. b si un numar c = b si un numar i =1

1.Citeste a,b ( a ar fii egal cu 225 si b ar fii egal cu 6 ca in exemplul tau

2.Fa while(a>=10)(vedem cate cifre are a si punem numarul lor intr un numar s)

{a=a/10;

s++;

}

while(i<=s)(facem c la puterea s)

{c=c*10;

i++;

}

3. spune c+a si( c+a)*2

CERE DETALII DACA NU INTELEGI TOT!!!!!

Alte întrebări interesante