Hejka mam do napisania taki program i mam problem, ponieważ nie mam pojęcia jak zrobić żeby program sam sobie wybierał wartość najmniejszą i największą i ją odrzucał.
W moim wypadku za każdym razem oblicza wynik dzieląc całą sumę na 2.
W którym miejscu jest błąd, ze nie przypisuje sobie najmniejszej i największej wartości?
/*Napisz program wczytujący 4 liczby rzeczywiste
i wyznaczający średnią arytmetyczną z liczb pozostałych
po odrzuceniu wartości skrajnych (tzn. maksimum i minimum)*/
#include <iostream>
using namespace std;
int main()
{
double a,b,c,d;
cout << "Podaj 4 liczby\n";
cin>>a>>b>>c>>d;
double suma =0.0;
suma=a+b+c+d;
double max;
double min;
if((a>b)&&(a>c)&&(a>d))
{
a=max;
}
else if((b>a)&&(b>c)&&(b>d))
{
b=max;
}
else if((c>a)&&(c>b)&&(c>d))
{
c=max;
}
else if((d>a)&&(d>b)&&(d>c))
{
d=max;
}
if((d>a)&&(c>a)&&(b>a))
{
a=min;
}
else if((d>b)&&(c>b)&&(a>b))
{
b=min;
}
else if((d>c)&&(b>c)&&(a>c))
{
c=min;
}
else if((c>d)&&(b>d)&&(a>d))
{
d=min;
}
double wynik =0.0;
wynik=(suma-max-min)/2;
cout<<"Wynik wynosi " << wynik << endl;
return 0;
}