Ś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, botów: 0