Einzelnen Beitrag anzeigen
Ungelesen 22.11.10, 22:56   #10
Jester2
Newbie
 
Registriert seit: Aug 2010
Beiträge: 85
Bedankt: 30
Jester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt PunkteJester2 putzt sich die Zähne mit Knoblauch. | 2683 Respekt Punkte
Standard

Zitat:
Zitat von Xalir Beitrag anzeigen
Ich würd mal spontan tippen, Dein Array ist außerhalb der Grenzen. Den Fehler, den Du machst ist ganz einfach: Arrays beginnen mit index(0) und nicht index(1).
So sieht es aus. Du initialisiertst dein Array mit [4][4]. Ein Zugriff auf das erste Element im Array beginnt immer mit [0] und endet in deinem Fall mit [3] -> also 4 Elemente. Deine Variable d wird allerdings mit 4 initialisiert. Wenn du nun
Code:
speicher = quadrat2[0][d - a];
aufrufst, wird für den ersten Scheifendurchlauf folgendes gemacht:
a=0
d=4
somit 4-0=4 also:
Code:
speicher = quadrat2[0][4];
Da dein Array aber nur 4 Elemente hat und versuchst auf das 5. zuzugreifen, geht das natürlich in die Hose.
Am besten initialisierst du d so:
Code:
int d = z-1;
Solltest du auf die Idee kommen die Göße der Matrix (z) zu ändern, hat das dann keine Auswirkung auf deine Schleife.

Gruß
Jester
Jester2 ist offline   Mit Zitat antworten