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

Cerinţa
Se dau n numere naturale. Calculaţi suma numerelor obținute prin eliminarea din fiecare număr dat a tuturor aparițiilor ultimei cifre.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran numărul S, reprezentând suma cerută.

Restricţii şi precizări
1 ≤ n ≤ 1000
cele n numere citite vor avea cel mult 6 cifre

Răspunsuri la întrebare

Răspuns de radutanasa86
5
#include <iostream>
using namespace std;
int n,cifre[8];
inline int Eliminare(int a[],int n)
{
    int sol=0,lg=0,i,c,x;
    while(n>0)
    {
        a[++lg]=n%10;
        n/=10;
    }
    c=a[1];
    x=0;
    for(i=1;i<=lg;i++)
        if(a[i]!=c)
         a[++x]=a[i];
    lg=x;
    for(i=lg;i>=1;i--)
        sol=sol*10+a[i];
    return sol;
}
int main()
{
    int sol=0,i,x;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>x;
        sol+=Eliminare(cifre,x);
    }
    cout<<sol<<"\n";
    return 0;
}


Alte întrebări interesante