Array probléma.. C-C++ -ban próbálok tanulni de problémába ütköztem a neten amit lelek nem igazán megoldások. Kérdőjel ?
A probléma az alábbi:
Van 1 függvény, szeretném eltérő számsor értékekkel meghívni. Erre az array-t találtam megfelelőnek tehát így néz ki:
unsigned int program1[6] = {10, 10, 10, 10, 10, 70 };
unsigned int program2[6] = {30, 30 90, 30, 30, 110};
unsigned int program3[6] = {30, 30, 10, 10, 30, 171};
unsigned int program4[6] = {30, 30, 90, 30, 10, 170};
int program_number;
Szóval a program number int értékével (program1, program2, program3) rendelkezdő array-t szeretném kiválasztva megadni a függvénynek hogy úgy fusson le..
Jelenleg van egy program_selected array abba másolom egyenként, de eléggé szerencsétlen. Működik de nem csak az a lényeg hogy működjön, hanem hogy megértsem hogy máshogy is lehet. :)
Létezik elegánsabb megoldás ?
Köszönöm. Ezt kerestem, illetve ilyesmit képzeltem el de a mátrix szót még nem ismertem csak a filmből.
Kipróbálva, működik, hibátlan, ez az amire gondoltam.
még valami, mert újabb kérdés..
van egy integer amit ++ -al növelek.
ha elér egy értéket, akkor vissza kell tenni 1-re tehát csak egy tartományban mozoghat..
Én láttam elegánsabb megoldást mit amit most használok ami ennyi:
if (currentprogram == 8) currentprogram = 1; // start over and over
Nem biztos de % jel volt benne, azt az operand még teljesen érthetetlen nekem.
van ilyen megoldás ?
currentprogram = ((currentprogram++) % 8) + 1;
Lehet, hogy bizonyos zárójelek elhagyhatóak.
Egypipás delfipapa válaszaival nem kell foglalkozni, el sem kell olvasni őket.
Elmebeteg szegény.
Köszönöm..
Valamiért nem akarta elfogadni a currentprogram++ -t de a +1-el működik.
nagyon profi lett, legalábbis nekem tetszik :)
int arraylines = sizeof(program_matrix) / sizeof(int) / 11; // one function group contains 11 subf.
currentprogram = ((currentprogram+1) % arraylines );
Még egy kérdés, mert igazából nem értem ezt a % jelet. Mostmár addig megvan, hogy pl %2 vel a páros számok jönnek, de pontosan miért ?
Rákerestem de ezek itt sötét foltok.
Pár szóban mintha egy festőnek magyaráznád, el tudod mondani ? És ha igen, akkor kérlek tedd meg.
Osztási maradékot képez.
Modulo operátornak hívják.
21 % 6 = 3, mert 21 osztva hattal, az 18 a maradék pedig három.
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!