Komische Werte beim Auslesen von Arrays
-
Ich hab einige mehrdimensionale Arrays vom Typ [x][y] usw. Dort sind zwar relativ viele Daten, aber nur Zahlen bis 32. Wenn ich sie auslese, erhalte ich immer ungefähr folgendes:
7012324543 - 21 - 4 - 0 - 2342352356 - 19 - 2342342352 - 11
...also immer so 2/3 richtige Werte und 1/3 Müll.
An der Abfrage kann es nicht liegen, weil die richrigen ja mit der gleichen Funktion ausgelesen werden. Kann es sein, dass sowas auftritt, wenn man Arrays zu verschachtelt ausliest?
Wäre nett, wenn mir jemand weiterhelfen könnte!
-
Der entsprechende Code könnte hilfreich sein...
-
David_pb schrieb:
Der entsprechende Code könnte hilfreich sein...
und zwar der, wo du das feld deklarierst, wo du es füllst und wo du die werte ausliest...
-
Hallo, hab ein bisschen rumgespielt und gesehen, dass das Auslesen nicht das Problem ist. Selbst wenn ich bestimmte Variablen aus dem Array gleich nach der Einrichtung direkt (also ohne weitere Variablen abfrage), erhalte ich falsche Werte.
Es geht um ein Kartenspiel mit 32 Karten und vier Spielern. In diesem Array sollen die Grundinformationen über die Karten sein.
int kartenInfo[33][5] = { {0,0,0,0,0}, {1,1,1,3,0}, {2,1,2,2,0}, {3,1,3,11,0}, {4,1,4,10,0}, {5,1,5,4,0}, {6,1,6,0,0}, {7,1,7,0,0}, {8,1,8,0,0}, {9,2,1,3,0}, {10,2,2,2,0}, {11,2,3,11,0}, {12,2,4,10,0}, {13,2,5,4,0}, {14,2,6,0,0}, {15,2,7,0,0}, {16,2,8,0,0}, {17,3,1,3,0}, {18,3,2,2,0}, {19,3,3,11,0}, {20,3,4,10,0}, {21,3,5,4,0}, {22,3,6,0,0}, {23,3,7,0,0}, {24,3,8,0,0}, {25,4,1,3,0}, {26,4,2,2,0}, {27,4,3,11,0}, {28,4,4,10,0}, {29,4,5,4,0}, {30,4,6,0,0}, {31,4,7,0,0}, {32,4,8,0,0} }; cout << kartenInfo[12][4];...ergibt z.B. 2220, obwohl doch 0 im Array steht, oder?
-
Bernd27 schrieb:
int kartenInfo[33][5] = { {0,0,0,0,0}, {1,1,1,3,0}, {2,1,2,2,0}, {3,1,3,11,0}, {4,1,4,10,0}, {5,1,5,4,0}, {6,1,6,0,0}, {7,1,7,0,0}, {8,1,8,0,0}, {9,2,1,3,0}, {10,2,2,2,0}, {11,2,3,11,0}, {12,2,4,10,0}, {13,2,5,4,0}, {14,2,6,0,0}, {15,2,7,0,0}, {16,2,8,0,0}, {17,3,1,3,0}, {18,3,2,2,0}, {19,3,3,11,0}, {20,3,4,10,0}, {21,3,5,4,0}, {22,3,6,0,0}, {23,3,7,0,0}, {24,3,8,0,0}, {25,4,1,3,0}, {26,4,2,2,0}, {27,4,3,11,0}, {28,4,4,10,0}, {29,4,5,4,0}, {30,4,6,0,0}, {31,4,7,0,0}, {32,4,8,0,0} }; cout << kartenInfo[12][4];...ergibt z.B. 2220, obwohl doch 0 im Array steht, oder?
Dein Programm ist korrekt. Falls dieses Programm bei dir (so wie es da jetzt steht) trotzdem 2220 ausgibt, ist dein Computer schwer beschädigt und du wärest nicht in der Lage, hier in's Forum zu schreiben. Gib uns bitte ein Minimalbeispiel, dass das fehlerhafte Verhalten zeigt.