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

Ma poate ajuta cineva cu un cod pentru problema urmatoare?
Doar cu while, if si else.
CERINTA
Se dau 3 numere: A , B și C. B și C sunt numere naturale, iar A este nenul întreg. Se cere să se concateneze cele 3 numere, astfel formându-se un număr N și să se afișeze atât acesta, cât și dublul lui.

Date de intrare
Se citesc 3 numere, A , B și C, separate prin câte un spațiu.

Date de ieșire
Se vor afișa două numere: N, având semnificația din cerință, respectiv dublul acestuia. Numerele vor fi separate printr-un spațiu.

Restricții
0 ≤ |A|, B, C, |N| ≤ 1 000 000 000 , unde |X| reprezintă modulul numărului X.
N va avea semnul lui A
A este nenul
Exemplu
Date de intrare Date de ieșire
23 7 0 2370 4740
-56 1 1 -5611 -11222

Răspunsuri la întrebare

Răspuns de Mudu
0

Răspuns:

#include <iostream>

using namespace std;

int main(){

long long int A,B,C,N,cb=1,cc=1,semn,aux;

cin>>A>>B>>C;

if(A>0){

   semn=1;

}

else{

   semn=-1;

}

aux=B;

while(aux>0){

   cb*=10;

   aux/=10;

}

aux=C;

while(aux>0){

   cc*=10;

   aux/=10;

}

N=((A*cb)+semn*B)*cc+semn*C;

cout<<N<<" "<<2*N;

}

Explicație:


drcompress: Multumesc frumos!
drcompress: Poti lua in calcul si variantele in care b = 0 si c = 0?
drcompress: variante de lucru: 23 0 45 / 23 45 0 / 23 0 0
drcompress: 23045 / 23450 / 2300
drcompress: Rezolvat. Am adaugat eu cateva conditii la inceput care acopera si cazurile in care b = 0 si/sau c = 0.
Alte întrebări interesante