Średnia liczb bez MAX i MIN

0

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;       
}
0

a=max;

Gdy a jest wartością największą to przypisujesz do zmiennej a niezainicjalizowaną wartość zmiennej max, a powinno być odwrotnie ;)

0

Wyszło,
Dziękuję bardzo za pomoc! :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1