Informatică, întrebare adresată de BeMi, 9 ani în urmă

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

Răspunsuri la întrebare

Răspuns de radutanasa86
2
#include <iostream>
using namespace std;
int cif[10];
int main()
{
    int n,lg=0,x,i,ramas;
    cin>>n;
    ///punem cifrele intr-un vector
    while(n)
    {
        cif[++lg]=n%10;
        n/=10;
    }
    x=cif[1];
    ramas=0;
    for(i=1;i<=lg;i++)
        if(cif[i]!=x)
          cif[++ramas]=cif[i];
    lg=ramas;
    x=0;
    if(lg<1)
        cout<<"-1"<<"\n";
    else
    {

        for(i=lg;i>=1;i--)
            x=x*10+cif[i];
        cout<<x<<"\n";
    }
    return 0;
}


Alte întrebări interesante