Možnost zkrácení kódu?

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
pepa48
Příspěvky: 1
Registrován: 31 pro 2017, 13:50

Možnost zkrácení kódu?

Příspěvek od pepa48 » 31 pro 2017, 14:00

Ahoj, dal by se zkrátit tento kód?

if (q != 3 && w == 0 && r == 1 && z == 2 ||
q == 3 && w != 0 && r == 1 && z == 2 ||
q == 3 && w == 0 && r != 1 && z == 2 ||
q == 3 && w == 0 && r == 1 && z != 2){
}

( & je and)
Hledá to kombinaci q, w, r, z která má být 3, 0, 1, 2, ale jedno z čísel má být jiné.
Takže třeba 0, 0, 1, 2 či 3, 0, 1, 3 atd...

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18

Re: Možnost zkrácení kódu?

Příspěvek od zbysek » 31 pro 2017, 15:41

Jisté zpřehlednění by mohlo být zavedení počitadla neshod:

Kód: Vybrat vše

byte neshody = 0;

neshody += q == 3 ? 0 : 1;
neshody += w == 0 ? 0 : 1;
neshody += r == 1 ? 0 : 1;
neshody += z == 2 ? 0 : 1;

Tohle počitadlo musí být na konci rovné 1.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti