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

Se dau două numere naturale. Dacă cele două numere au acelaşi număr de cifre, să se afle pe câte poziţii aceste
cifre coincid.
Date de intrare: Programul citește de la tastatură cele două numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran NU dacă cele două numere nu au acelaşi număr de cifre, respectiv DA dacă au
acelaşi număr de cifre. În caz afirmativ se va afişa pe rândul următor numărul poziţiilor în care cifrele celor
două numere coincid.
Restricții și precizări
cele două numere citite vor fi mai mici decât 2.000.000.000
In C++

Răspunsuri la întrebare

Răspuns de boiustef
4

#include <iostream>

using namespace std;

int main()

{

   int a, b, nca=1, ncb=1, ap=0;

   cin >> a >> b;

   int copiea=a;

   while (copiea>9) { ++nca; copiea/=10; }

   int copieb=b;

   while (copieb>9) { ++ncb; copieb/=10; }

   if (nca!=ncb) cout << "NU";

   else

   {

       cout << "DA" << "\n";

       if (a==0) { if (b==0) cout << 1;

                    else cout << 0;}

       else {

        if (b==0) cout << 0;

        else {

       while (a && b)

       {

           if (a%10==b%10) ++ap;

           a=a/10; b=b/10;

       }

       cout << ap; }

       }

   }

   return 0;

}

Alte întrebări interesante