Mam wczytaj 4 liczby rzeczywiste, znaleźć z nich dwie największe. I tylko z nich policzyć śr. arytmetyczną.
#include <iostream>
using namespace std;
int main()
{
float a, b, c, d;
cin >> a >> b >> c >> d;
float max1 = a;
float max2 = a;
if (b > a) max1 = b;
if (c > a) max1 = c;
if (d > a) max1 = d;
if (a == max1)
{
if ((c > b) && (c>d)) max2 = c;
if ((d > b) && (d>c)) max2 = d;
}
if (b == max1)
{
if ((c > a) && (c>d)) max2 = c;
if ((d > a) && (d>c)) max2 = d;
}
if (c == max1)
{
if ((b > a) && (b>d)) max2 = b;
if ((d > a) && (d>b)) max2 = d;
}
if (d == max1)
{
if ((c > a) && (c>b)) max2 = c;
if ((b > a) && (b>c)) max2 = b;
}
cout << (max1 + max2) / 2 << endl;
return 0;
}
Coś takiego udało i się wymyślić. Wcześniej rozgałęziałam to na jeszcze więcej ifów. Najlepszym rozwiązaniem byłoby jakoś ze zbiory 4 liczb "wyrzucić" tę największą i znaleźć największą spośród pozostałych. Tylko jak to zrobić?