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

a) Scrieţi în limbajul C++ doar antetul unui subprogram cif, care primeşte prin intermediul primului
parametru, nr, un număr natural cu cel mult 9 cifre şi furnizează prin intermediul celui de-al doilea
parametru, s, suma cifrelor din scrierea lui nr.
b) Scrieţi programul C++ care citeşte de la tastatură un număr natural n, apoi un şir de n numere naturale
nenule cu cel mult 9 cifre fiecare şi care determină şi afişează pe ecran, separate prin câte un spaţiu,
numerele din şir care au suma cifrelor maximă, folosind apeluri utile ale subprogramului cif. Exemplu:
dacă pentru n=8 se citeşte şirul de numere 274 56018 354 8219 293 287 932 634 atunci, pe ecran, se
afişează numerele 56018 8219.

Răspunsuri la întrebare

Răspuns de Eagle500
1

#include <iostream>

#include <climits>

using namespace std;

int v[100];

int cif(int n)

{

   int s=0;

   while(n!=0)

   {

       s=s+n%10;

       n=n/10;

   }

   return s;

}

int afisare(int n,int v[100])

{

   int i,maxim=INT_MIN;

   for(i=0; i<n; i++)

   {

       if(cif(v[i])>maxim)

       {

           maxim=cif(v[i]);

       }

   }

   for(i=0; i<n; i++)

   {

       if(maxim==cif(v[i]))

       {

           cout<<v[i]<<" ";

       }

   }

   return 0;

}

int main()

{

   int n,i;

   cin>>n;

   for(i=0; i<n; i++)

   {

       cin>>v[i];

   }

   afisare(n,v);

   return 0;

}

//274 56018 354 8219 293 287 932 634

Alte întrebări interesante