Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Jednoduchý algoritmus

C# .NET .NET (C# a Visual Basic) Jednoduchý algoritmus American English version English version

Aktivity (3)
Avatar
Tomáš Hanzelka:4. října 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. října 21:29
Avatar
Odpovídá na Tomáš Hanzelka
Ondřej Štorc:4. října 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. října 21:36
Nahoru Odpovědět  +1 4. října 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
Andy Scheuchzer:4. října 21:35

V dotazu píšeš, že &&… 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 a nejmenší.

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

Editováno 4. října 21:36
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 4. října 21:35
Člověk, co si myslí, že snědl všechnu moudrost světa, i když tomu tak není.
Avatar
Tomáš Hanzelka:4. října 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. října 21:36
Avatar
Tomáš Hanzelka:4. října 21:41

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

 
Nahoru Odpovědět 4. října 21:41
Avatar
Jiří Hlaváček:4. října 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. října 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.