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

Cerința
Se citește un număr natural nenul n. Numărul n1 este format doar din cifrele pare ale lui n. Numărul n2 este format doar din cifrele impare ale lui n. Calculați valoarea absolută a diferenței lor.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran numărul d, reprezentând valoarea absolută a diferenței dintre n1 și n2.

Restricții și precizări
1 ≤ n < 1000000000
numărul n conține cel puțin o cifră pară și cel puțin o cifră impară

Exemplu
Intrare

120341
Ieșire

73
Explicație
n1 este 204 iar n2 este 131. Diferența este 73.

Răspunsuri la întrebare

Răspuns de Didu69
1

#include <iostream>

using namespace std;

int main()

{

   int n, inv, n1, n2, cif;

   cin >> n;

   while(n != 0)

   {

       inv = inv * 10 + n % 10;

       n = n / 10;

   }

   while(inv != 0)

   {

       cif = inv % 10;

       if(cif % 2 == 0) n1 = n1 * 10 + cif;

                  else  n2 = n2 * 10 + cif;

       inv = inv / 10;

   }

   if(n1 >= n2) cout << n1 - n2;

           else cout << n2 - n1;

   return 0;

}


tudormuscalu07: Poti te rog sa imi si explici ce face programul? Multumesc
Răspuns de cosmaandra2000
0

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   int n,p,n1=0,n2=0,x,d;

   cin>>n;

   x=n;

   while (n!=0)

   {

       p=1;

       if(n%2==0)

       {

           n1=n1+ p*(n%10);

           p=p*10;

       }

       n=n/10;

   }

   p=1;

   while(x!=0)

   {

       if(x%2!=0)

       {

           n2=n2+ p*(x%10);

           p=p*10;

       }

       x=x/10;

   }

   d=abs(n1-n2);

   cout<<d;

   return 0;

}

Alte întrebări interesante