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
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
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Informatică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă