Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C - switch pole

Dobry den chcel by som vediet ci sa da swithchnut viac hodnot ako jedna. Chcem dat dvojice hodnôt napr 1 1,1 2,1 3,2 1,... ktore su v poli. Da sa to nejako?

Předmět Autor Datum
si ich spoj napr. ak to je byte tak 256*i+j apod a potom testuj dany vysledok.
MM.. 12.02.2015 14:49
MM..
A ked chcem aby zalezalo aj na poradi napriklad 1 0 je ine ako 0 1
parker 12.02.2015 15:57
parker
Ved pri tom na poradi zalezi. 1 0 je 0x0100 a 0 1 je je 0x0001. Nechapes shift operacie? Ide len o t…
MM.. 12.02.2015 16:37
MM..
A ked chcem aby zalezalo aj na poradi napr. 1 2 je ine ako 2 1
parker 12.02.2015 15:57
parker
Tak můžeš dát dva switche do sebe, první pro první hodnotu v poli, druhý pro druhou hodnotu. switch…
Niko Bellic 12.02.2015 16:08
Niko Bellic
Nad tym som rozmyslal ale nieje to neefektivne?
parker 12.02.2015 16:18
parker
Neefektivní myslíš na délku kódu? Ani ne. Zkus si to napsat pomocí if/else. Switch je přinejmenším p…
Niko Bellic 12.02.2015 16:28
Niko Bellic
:-? No, pokud tam má dvěstě hodnot, tak by se mi to teda psát nechtělo... Pro tazatele: Jaký kontré…
MaSo 12.02.2015 16:33
MaSo
Asi dalo cez tie ify ... pouzivatel zada cislo riadku a stlpcu a podla toho aku dvojicu zadal progra…
parker 12.02.2015 17:00
parker
Tak ked je max. hodnota 3, tak to urob jak som pisal vyssie. switch(i*256+j) { case 0x0000: case 0x0…
MM.. 12.02.2015 17:08
MM..
A ked to ma robit furt to same len niekde inde, tak sa to nerobi switchom, ani ziadnymi podmienkami.
MM.. 12.02.2015 17:11
MM..
Aha ja som si nevsimol tvoju reakciu :D kedysi davno som to robil skusim to dakujem :) poslední
parker 12.02.2015 17:21
parker

Ved pri tom na poradi zalezi. 1 0 je 0x0100 a 0 1 je je 0x0001. Nechapes shift operacie?
Ide len o to jaky datovy typ mas tie prvky pola, musis ich vopchat do 2x vacsej premmenej. Ak su prvky pola char, tak ti staci int na vysledok. Ak su prvky pola int tak musis potom vysledok testoavt ako long int apod. Alebo zavisi ze jaka je max. hodnota tych prvkov.

Zpět do poradny Odpovědět na původní otázku Nahoru