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

Se citește un șir de n numere naturale de maxim 9 cifre fiecare, să se afișeze numărul cu suma

cifrelor maximă/minimă.
c/c++​

Răspunsuri la întrebare

Răspuns de Petruccinator
1

#include <iostream>

int f(int n){

   int s = 0;

   do

       s += n % 10;

   while(n /= 10);

   return s;

}

int main(){

   int n, *v, mn[2]={0}, mx[2]={0};

   std::cin >> n;

   v = new int[n];

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

       std::cin >> v[i];

   mx[0] = mn[0] = v[0];

   mx[1] = mn[1] = f(v[0]);

   for(int t, i = 1; i < n; ++i){

       t = f(v[i]);

       if(t > mx[1]){

           mx[0] = v[i];

           mx[1] = t;

       }

       else if(t < mn[1]){

           mn[0] = v[i];

           mn[1] = t;

       }

   }

   std::cout << "Maxim: " << mx[0] << '\n';

   std::cout << "Minim: " << mn[0] << '\n';

   delete[] v;

   return 0;

}

Alte întrebări interesante