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++; }
Csak összecsapva:
for(i=-1; i<=1; i++)
__ for(j=-1; j<=1; j++)
___ if ( x+1 > 0 && x+1 < q && y+j > y+j<q && regiallapot[x+i,y+i] == '#') db++
"#4, nincs köztük else"
Nem is állítottam ezt.
A kérdésben szereplő kód szerint csak van egy feltétel:
(x == 0 && y == 0)
ha ez teljesül, akkor ezen belül van 3 feltétel:
(regiallapot[x + 1, y] == '#')
illetve
(regiallapot[x + 1, y + 1] == '#')
illetve
(regiallapot[x, y + 1] == '#')
ha ezek teljesülnek, akkor növeljük a db értékét.
Ezen utóbbi 3 feltétel egyesíthető egy feltételben - maximum ennyi tehető a topiknyitó kérdés tekintetében.
Van nyelv amin meglehetne cukin oldani, így:
int db = 0;
if (x == 0 && y == 0) //1
{
db += (regiallapot[x + 1][y] == '#') + (regiallapot[x + 1][y + 1]) == '#' + (regiallapot[x][y + 1] == '#');
}
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!