Fehler suche
-
for(i=xin1;i==xin2;i++)Ich wette das macht nicht, was du denkst, was es macht. Nochmal for-Schleife angucken.
-
Sie soll vom Wert von xin1 bis zum Wert von xin2 laufen. Und dabei halt die Arrayspalte mit Xen versehen.
Wo liegt das Problem?
-
Lord Vincent schrieb:
Sie soll vom Wert von xin1 bis zum Wert von xin2 laufen. Und dabei halt die Arrayspalte mit Xen versehen.
Wo liegt das Problem?
Vielleicht darin, dass die Schleife das zwar soll aber garantiert nicht tut?
-
das war mir auch klar aber wo liegt der Fehler wie gesagt ich hab noch nicht soviel ahnung von c++
danke im vorraus
-
Hinweis: Der zweite Ausdruck im Schleifenkopf der for-Schleife ist die Bedingung, die erfüllt sein muss (solange Bedingung erfüllt). Da Du am Anfang i = xin1 setzt ist i == xin2 nur erfüllt wenn xin1 == xin2.
-
for(A; B; C) D;heißt auf Deutsch:
1. Mache A
2. Wenn B erfüllt ist, dann zu 3. ansonsten zu 6.
3. Mache D;
4. Mache C;
5. Zurück zu 2.
6. FertigUnd jetzt guck nochmal scharf hin, was bei dir wohl im Schritt 2 passiert.
-
erstmal danke für die schenlle Hilfe.
Es hat sich leider schon wieder ein PRoblem aufgetan.
Sobald ich die Spielfelgrenze X über 10 erhöhe, springt das Programm direkt ans Ende. Wer weiß warum und wie kann ich das Problem beheben?Vielen dank schonmal
-
Das ist eine ganz wunderbare Gelegenheit, den Umgang mit dem Debugger an einem (hoffentlich*) einfachem Beispiel zu üben. Mit dem Debugger musst du als Programmierer umgehen können. Also google mal ein bisschen, wie man in deiner Entwicklungsumgebung den Debugger nutzt. Oder falls du keine IDE benutzt, mach dich mal kundig, was bei deinem System der gängigste Debugger ist und wie man ihn grundlegend bedient. Dann gehst du mit dem Debugger dein Programm im Einzelschritt durch und guckst, an welcher Stelle das Programm etwas anderes macht, als du erwartest. Wenn es beispielsweise an einer if-Abfrage anders abzweigt als erwartet, dann guckst du dir mal die Variablen und Werte an, die in der Bedingung vorkommen. Ebenso wenn eine Schleife länger oder kürzer läuft als von dir erwartet. Falls ein Laufzeitfehler auftritt, sagt dir der Debugger, in welchem Ausdruck der Fehler stattfindet und du kannst dir den Programmzustand zum Fehlerzeitpunkt angucken.
*: Ich habe keine Ahnung, was hier das Problem ist, da deine Beschreibung zu unklar ist. Aber es klingt einfach.
-
hab leider kein brauchbares Tutorial für Microsoft Visual c++ 2010 gefunden.
und um meine Frage zu spezialisieren. Mein Problem ist, dass wenn ich die Grenze meines Spielfeld (zweidimensionales array) bei der X Variable auf einen Wert über zehn erhöhe springt das Programm sofort an das Ende des Programms.
-
Lord Vincent schrieb:
hab leider kein brauchbares Tutorial für Microsoft Visual c++ 2010 gefunden.
erster Treffern bei google: http://msdn.microsoft.com/en-us/library/k0k771bt(v=vs.100).aspx
Mein Problem ist, dass wenn ich die Grenze meines Spielfeld (zweidimensionales array) bei der X Variable auf einen Wert über zehn erhöhe springt das Programm sofort an das Ende des Programms.
Wie gesagt, bemüh deinen Debugger, um solche Probleme rauszufinden.