Kezdőoldal » Számítástechnika » Programozás » Hogy hogy lehet ezt az if...

Hogy hogy lehet ezt az if else szerkezetet switch case-re átírni? int db = 0; if (x == 0 && y == 0) //1 { if (regiallapot[x + 1, y] == '#') db++; if (regiallapot[x + 1, y + 1] == '#') db++; if (regiallapot[x, y + 1] == '#') db++; }

Figyelt kérdés
2015. nov. 14. 20:03
1 2
 1/15 Tengor ***** válasza:
Egyrészt egy 3 if, egy negyediken belül. Nincs értelmes switchre átírni.
2015. nov. 14. 20:10
Hasznos számodra ez a válasz?
 2/15 A kérdező kommentje:
Világos de az érdekelne hogyan lehetne ezt átírni
2015. nov. 14. 20:11
 3/15 anonim ***** válasza:
Sehogy.
2015. nov. 14. 20:14
Hasznos számodra ez a válasz?
 4/15 anonim ***** válasza:

Maximum a 3 belső if-et lehet egybe belerakni:

[link]

2015. nov. 14. 20:17
Hasznos számodra ez a válasz?
 5/15 Tengor ***** válasza:

Ezen agyalok egy ideje, de szerintem sehogy. A switch általában egy változót hasonlít össze konstansokkal. A te 3 if-ed 3 konstanst hasonlít össze egy konstanssal.

Tegyük fel, hogy a nyelv ezt megengedi.

Akkor mondjuk így nézne ki:

switch("#") {

__case(regiallapot[x+1,y]): db++; break;

__case(regiallapot[x+1,y+1]): db++; break;

__case(regiallapot[x,y+1]): db++; break;


}

Ebben az esetben vagy eggyel növekszik a db értéke vagy nem növekszik, mert a break-ekkel mindig kilép a switch blokkból.

Ha elhagyod a blokkokat, akkor az első teljesülő feltétellel belép, és a hátralévő db++-okkat végrehajtja akkor is, ha az előtte álló feltétel nem teljesül.

Ami megint nem a kívánt működés.


A switch case if-else-ek átírására való, ezek nem if-else-ek, csak if-ek egymás után.

2015. nov. 14. 20:18
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:
és hogy lehetne ezt rövidebben megcsinálni mert rengeteg ilyen van még csak azt nem linkeltem be
2015. nov. 14. 20:21
 7/15 Tengor ***** válasza:
#4, nincs köztük else. A kérdező kódja szerint futás során a db értéke 0 és 3 között bármi lehet.
2015. nov. 14. 20:22
Hasznos számodra ez a válasz?
 8/15 Tengor ***** válasza:
Írj rá függvényt.
2015. nov. 14. 20:22
Hasznos számodra ez a válasz?
 9/15 A kérdező kommentje:

Ezzel kellene mit kezdeni már próbáltam sok mindent de sajnos korlátozott a tudásom:


[link]

2015. nov. 14. 20:29
 10/15 A kérdező kommentje:
Ez így elég csúnya valami szebb "alakot" akarok .
2015. nov. 14. 20:29
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!