IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tomáš Hanzelka:4.10.2018 21:29

Program nejde zkompilovat. Hází mi chyby a tváří se, že operátor && je pro něj nezřetelný.

Zkusil jsem: Přidat středníky a složené závorky tam kam mi program hlásí (i když mi nepřijde logické, že bych měl dávat středník za podmínku if)

Chci docílit: Začínám s C# a učím se podmínky. Ve škole jsme měli udělat nějaké jednoduché programy. Já se snažím udělat už trochu "složitější" a to konkrétně program, který mi z tří čísel řekne, které je největší.
Děkuji za pomoc.

 
Odpovědět
4.10.2018 21:29
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Tomáš Hanzelka
Ondřej Štorc:4.10.2018 21:34

Správně musíš zapsat ten if takhle:

if((a < b) && (a < c))
{
...
}
else
{
...
}

kdy a < b je jeden výraz, a < c je druhý a && to propojují pomocí logické spojky AND. V C# samotné & má význam jako bitová operace (pracuje s jednotlivýma bitama v proměné), ne jako logická spojka (která pracuje s datovým typem bool).
Ty závorky okolo jednotlivých výrazů jsou v mé ukázce zbytečný, protože operátor < má přednost před logickýma spojkama.

Editováno 4.10.2018 21:36
Nahoru Odpovědět
4.10.2018 21:34
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na Tomáš Hanzelka
Neaktivní uživatel:4.10.2018 21:35

V dotazu píšeš, že <code>&&</code>… co třeba to tam napsat? A závorky nemusí být jenom složené:

if (a < b && a < c) {

A máš tam chybu – v tomto případě je <code>a</code> nejmenší.

Edit: Ondřej Štorc byl rychlejší :-)

Editováno 4.10.2018 21:36
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
4.10.2018 21:35
Neaktivní uživatelský účet
Avatar
Tomáš Hanzelka:4.10.2018 21:36

joo, ty dvě & jsem měl, jenom jsem zkoušel jestli to nebude záhadně fungovat, každopádně chyba bude v závorkách.
zkusím děkuji :)

 
Nahoru Odpovědět
4.10.2018 21:36
Avatar
Tomáš Hanzelka:4.10.2018 21:41

Jinak zobáčky jsem nechtěně prohodil, ještě jednou děkuji :)

 
Nahoru Odpovědět
4.10.2018 21:41
Avatar
Jiří Hlaváček:4.10.2018 23:39

Jinak je dobře, že se snažíš něco ladit "dál".
Ještě kdybys nechtěl použít větvení, tak můžeš použít matematické funkce

max = Math.Max(Math.Max(a, b), c);

V proměnné max pak budeš mít největší hodnotu.
To jen pro inspiraci k experimentování.

 
Nahoru Odpovědět
4.10.2018 23:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.