Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Błędne wyliczanie najwjększej liczby w jednym ze sposobów.

Ostatnio zmodyfikowano 2014-11-23 23:57
Autor Wiadomość
Max_150
Temat założony przez niniejszego użytkownika
Błędne wyliczanie najwjększej liczby w jednym ze sposobów.
» 2014-11-23 19:11:57
Witam,w drugim przykładzie najwyzsza wartość liczby jest źle wyliczana.Znam druga metode,która raczej działa,problemem jest to,ze nie widze błedu w pierwszej.

C/C++
if( liczba1 > liczba2 && liczba3 && liczba4 && liczba5 )
{
    maxs = liczba1;
}

else if( liczba2 > liczba1 && liczba3 && liczba4 && liczba5 )
{
    maxs = liczba2;
}
else if( liczba3 > liczba2 && liczba1 && liczba4 && liczba5 )
{
    maxs = liczba3;
}

else if( liczba4 > liczba1 && liczba3 && liczba2 && liczba5 )
{
    maxs = liczba4;
}

else if( liczba5 > liczba1 && liczba3 && liczba2 && liczba4 )
{
    maxs = liczba5;
}

Ten powyżej nie działa prawidłowo

A tutaj prawidłowy:

C/C++
maxs = liczba1;
if( liczba2 > maxs )
{
    maxs = liczba2;
}
if( liczba3 > maxs )
{
    maxs = liczba3;
}
if( liczba4 > maxs )
{
    maxs = liczba4;
}

if( liczba5 > maxs )
{
    maxs = liczba5;
}
 
Drugi jest znacznie bardziej elegancki,i działa.Ale nie znam błedu w pierwszym przykładzie,i miło by było,jak by ktos go wskazał.
P-121231
NopeDotAvi
» 2014-11-23 19:21:28
Twoje warunki nie robią tego co chcesz. Poczytaj więcej o operatorach logicznych i jak one działają.
Tak ogólnie taki sposób jest do dupy.

@@Edit
Musisz sprawdzać dla każdej liczby ten warunek (liczby1 > liczby2 && liczby1 > liczby3) itd. Poza tym masz 5 liczb, czyli dla każdej musisz sprawdzać w taki sposób.
Pomyśl o lepszym sposobie, ewentualnie użyj
std::max( l1, l2 );
P-121233
Max_150
Temat założony przez niniejszego użytkownika
» 2014-11-23 19:35:37
drugi sposób jest ok,bo sprawdzałem,wiec nie jest do d*py,a w pierwszym nie widze błędu,jak go widzisz,to wskarz mi go,to jest predmiotem tematu,a nie to czy powinienem sie douczyc czy nie,jak na 15h nauki,jestem horyzonty dalej,niz niektózy z wieloletnimi naukami ,,na siłe''.
P-121235
wilkoo13
» 2014-11-23 19:45:48
W pierwszym masz warunek blblabla && zmiennax &&
Jeśli zmiennax jest niezerowa czyli inna niż 0, to zwraca 1, dzięki operatorowi && oba warunki muszą być niezerowe aby zwróciły true, nie tylko 2 warunki ale wszystkie które są pomiędzy &&.

Drugi jest ok, działa. Jest specjalna funkcja która wyszukuje wartości max i min. Btw drugi sposób jest hmm brzydki, źle czytelny i BARDZO NIEuniwersalny, działa tylko na tych zmiennych ktore sam wprowadzisz, ich nazwy itp, jeśli jest ich więcej to sie musisz więcej bawić.
http://www.algorytm.edu.pl/algorytmy-maturalne/wyszukiwanie-elementu-minmax.html
P-121236
Max_150
Temat założony przez niniejszego użytkownika
» 2014-11-23 21:23:03
wilkoo13,powiedz mi,jaki jest problem główny,dla poczatkującego w programowaniu?Problemem jet to,ze nie umie sie odnaleźć w kodzie?Nie potrafi stosowac funkcji?Nie tworzy uniwersalnych rozwiązań?A może problemem jest to,że nie zna funkcji?Zapewne to jest główny problem,nic innego.To w co teraz sie bawie nie ma tworzyć uniwersalnych rozwiazan,a utrwalać poznane funkcjie.I ni lich komu do tego czy to jest do dupy,czy jest uniwersalne badz nie.Nikt z was nie jest jasnowidzem,i nie wie po co to jestzrobione tak,a nie inaczej.
P-121241
wilkoo13
» 2014-11-23 23:57:48
Jeju, bardzo źle znosisz krytykę. Powiedziałem tylko że jest funkcja która sama szuka liczby max i min i że wygodniej jest ją stosować w razie gdyby była ci potrzebna abyś się nie bawił niepotrzebnie w robienie kodu który już istnieje, a ty już bierzesz to jako atak, heh. Odpowiedź na pytanie padło, nie robię już offtopu
P-121249
« 1 »
  Strona 1 z 1