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

Cerința
Se citesc de la tastatură n numere naturale. Să se determine numărul a cărui sumă a cifrelor este cea mai mare, respectiv cea mai mică.

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
Minimul va fi afișat pe primul rând și maximul pe al doilea rând.

Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite sun mai mici decât 2.000.000.000
dacă exista mai multe numere cu aceeași suma minima/maxima se va afișa primul găsit

Exemplu
Intrare

5 145 225 198 326 874
Ieșire

225
874
Explicație

145 -> 1+4+5=10
225 -> 2+2+5=9 (minimul)
198 -> 1+9+8=18
326 -> 3+2+6=11
874 -> 8+7+4=19 (maximul)

Răspunsuri la întrebare

Răspuns de Mrincredible
1
int n,a,smin=28,smax=-1,max,min;
cin>>n;
while(cin>>a&&a!=0)
{
     cin>>a;
     ca=a;
     if(a>=100)
       {
p=1;
          while(ca>100)
            {
               ca=ca/10;
                p=p*10;
            }
              if(smin<a/p){smin=a/p;
                                  min=a;}
              if(smax<a/p){smax=a/p;
                                  max=a;}
       }
cout<<min<<endl<<max;

pixfarapasta: cum adica while (cin>>a ???
pixfarapasta: te rog explica-mi. si de ce e acolo smin<a/p? ce e acel a/p?
pixfarapasta: si de ce ai dat valorile 28 si -1?
pixfarapasta: si vezi ca min, max sunt niste functii deja in c++. poti pune Min, Max ca e case sensitive
Alte întrebări interesante