mc_gulasch
Erfahrenes Mitglied
Moin zusammen,
ich hab mir folgendes Konstrukt gebastelt:
Es ist ein 3-dim Array, das in seiner 3. Dimension eine Adresse gespeichert hat in der wiederum eine Lösung in Array-Form steht. Diese Lösung ist eben die Lösung zu einem der 256 Probleme zu jeder Möglichkeit.
Beispiel (abstrakt):
Mgk entspricht Jahr
256 entspricht einem Monat
dann steht im dritten Feld ein "Link" zu den optimalen 6 Lottozahlen
Wenn ich nun auf einen Inhalt zugreife
erhalte ich diesen einwandfrei. Mit
kann ich die einzelnen Lösungen durchschalten und mit
die einzelnen Felder in den Lösungen.
Wenn ich mir also ein best. Feld (eine best. Lottozahl) ausgeben lasse via printf() klappt das wunderbar. Allerdings wenn ich nun zu dieser Zahl etwas dazuaddiere:
dann addiert er zwar tatsächlich zu dieser Zahl etwas dazu, aber nicht '5' sondern '5x4'. Zwar erhalte ich mit '+5/4' mein gewünschtes Ergebnis, aber das ist
a) unsauber
b) für mich total unverständlich warum das so läuft.
Hat jemand ne Idee? Wenn was unklar formuliert ist, bitte sofort fragen.
Danke sagt das Gulasch
[NACHTRAG]
Komisch ist allerdings, wenn ich nun eine vorherige Zuweisung mache und dann addiere, funktioniert es

[/NACHTRAG]
ich hab mir folgendes Konstrukt gebastelt:
C:
unsigned int*** TABLE[Mgk][256];
Beispiel (abstrakt):
Mgk entspricht Jahr
256 entspricht einem Monat
dann steht im dritten Feld ein "Link" zu den optimalen 6 Lottozahlen
Wenn ich nun auf einen Inhalt zugreife
C:
printf("%i\n",*(TABLE[mgk][(unsigned int)'-'][0]));
C:
printf("%i\n",*(TABLE[mgk][(unsigned int)'-'][0+j]));
C:
printf("%i\n",*(TABLE[mgk][(unsigned int)'-'][0+j]+k));
Wenn ich mir also ein best. Feld (eine best. Lottozahl) ausgeben lasse via printf() klappt das wunderbar. Allerdings wenn ich nun zu dieser Zahl etwas dazuaddiere:
C:
printf("%i\n",*(TABLE[mgk][(unsigned int)'-'][0+j]+k)+5);
a) unsauber
b) für mich total unverständlich warum das so läuft.
Hat jemand ne Idee? Wenn was unklar formuliert ist, bitte sofort fragen.
Danke sagt das Gulasch
[NACHTRAG]
Komisch ist allerdings, wenn ich nun eine vorherige Zuweisung mache und dann addiere, funktioniert es
C:
int laenge = *(TABLE[mgk][(unsigned int)'-'][0+j]+k);
printf("%i\n",laenge+5);

[/NACHTRAG]
Zuletzt bearbeitet: