W konkursie skoków narciarskich chcemy wyznaczyć ocenę za styl, którą otrzyma dany zawodnik. Aby to zrobić, spośród pięciu ocen przyznanych przez pięciu sędziów należy odrzucić dwie skrajne noty: najwyższą i najniższą, a pozostałe zsumować.

Specyfikacja

Dane: pięć liczb z przedziału [0,20] podanych z dokładnością do 0,5

Wynik: największa i najmniejsza liczba oraz suma liczb pomniejszona o liczbę najmniejszą i największą.

Algorytm będzie wyznaczał szukaną sumę przez odjęcie od sumy wszystkich pięciu liczb wartości najmniejszej oraz największej. W przypadku gdy wartości skrajnych jest więcej, będziemy odejmować każdą tylko raz.


Odpowiedź :

Odpowiedź:

#include<iostream>

#include<cmath>

int main() {

   double a;

   int counter = 0;

   int maxi = INT_MIN;

   int mini = INT_MAX;

   int sum = 0;

   while (counter < 5) {

       std::cin >> a;

       if (a >= 0 && a <= 20) {

           maxi = std::max(maxi, (int) round(a));

           mini = std::min(mini, (int) round(a));

           sum += round(a);

           counter++;

       } else {

           std::cout << "Podaj liczbe z przedzialu [0, 20]\n";

       }

   }

   std::cout << "Najwieksza: " << maxi << std::endl;

   std::cout << "Najmniejsza: " << mini << std::endl;

   std::cout << "Suma: " << sum - mini - maxi << std::endl;

   return 0;

}

Wyjaśnienie: