Algoritm pentru concatenarea (lipirea) a 2 numere

Se citesc de la tastatură 2 numere, a și b. Să se determine și să se afișeze numărul format din concatenarea (lipirea) celor 2 numere.

Se declară mai multe variabile, p, aux, nrcif și i. Nrcif este folosit pentru a număra numărul de cifre a variabilei b, aux pentru memorarea valorii lui b, iar i pentru a folosi instrucțiunea for. P are atâtea zerouri câte cifre are numărul b (nrcif). La final se înmulțește a cu p, la care se adaugă valoarea inițială a lui b, deci aux.

#include <iostream>
using namespace std;
int main()
{
    int a, b, p=1,aux,nrcif,i;
    cout<<"a?"; cin>>a;
    cout<<"b?"; cin>>b;
    aux=b;
    while(b!=0)
    {
        nrcif++;
        b=b/10;
    }
    for (i=1; i<=nrcif; i++)
    p=p*10;
    a=a*p;
    a=a+aux;
    cout<<a;
    return 0;
}

O variantă eficientă, care folosește, cu mai puține variabile și instrucțiuni este următoarea:

#include <iostream>
using namespace std;
int main()
{
    int a, b,aux;
    cout<<"a?"; cin>>a;
    cout<<"b?"; cin>>b;
    aux=b;
    while(b!=0)
    {
        a=a*10;
        b=b/10;
    }
    a=a+aux;
    cout<<a;
    return 0;
}

De asemenea, ai putea dori...

Lasă un răspuns

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.