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

Pbinfo #360 cifra

Cerinţa
Se citește un număr natural n și o cifră c. Determinați numărul obținut prin eliminarea tuturor aparițiilor cifrei c din numărul n.

Date de intrare
Programul citește de la tastatură numerele n și c.

Date de ieşire
Programul afișează pe ecran numărul M, reprezentând numărul obținut prin eliminarea tuturor aparițiilor cifrei c din numărul n.

Restricţii şi precizări
1 ≤ n ≤ 1.000.000.000
1 ≤ c ≤ 9
dacă prin eliminarea aparițiilor lui c în n nu mai rămân cifre, se va afișa -1

Exemplu
Date de intrare

173534 3
Date de ieșire

1754

Răspunsuri la întrebare

Răspuns de boiustef
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, c, M=0, nrcif=0, nrc=0, copie, cif, z=1;

   cin >> n >> c;

   copie=n;

   while (copie)

   {

     ++nrcif;

     if (copie%10==c) ++nrc;

     copie/=10;

   }

   if (nrcif==nrc) cout << -1;

   else

   {

      while (n)

      {

          cif=n%10;

          if (cif!=c) {  M=z*cif+M; z*=10; }

          n/=10;

      }

      cout << M << "\n";

   }

   return 0;

}

Explicație:

Răspuns de alexdobritan07
6

Răspuns:

#include <iostream>

using namespace std;

long long n,c,m,p;

int main()

{cin>>n>>c;

m=0;

p=1;

while (n)

{

   if(n%10!=c)

   {m=m+n%10*p;

   p=p*10;

   }

   n=n/10;

}

if(p!=1)

cout<<m;

else  

    cout<<-1;

}

Explicație:

Alte întrebări interesante