mathemanu Geschrieben 6. August 2010 Geschrieben 6. August 2010 (bearbeitet) Moin Leute, ich sitze hier seit einer Stunde vor einem Programmabschnitt und der produziert mir den verwirrendsten Fehler, den ich in einem c++-Programm bis jetzt gesehen habe. Der betrachtete Code ist folgender: // int l=0; float max[10]={0}; int kmax[10]={0}; for(k;k<9970;k++) { if (mittelwert[k][0]>=max[0]) { max[0]=mittelwert[k][0]; kmax[0]=k; } } for(int i=kmax[0]-grenze;i>=0;i--) { // l++; if (mittelwert[i][0]>=max[1]) { max[1]=mittelwert[i][0]; kmax[1]=i; } } for(int i=kmax[0]+grenze;i<=9970;i++) { // if (mittelwert[i][0]>=max[2]) // { // max[2]=mittelwert[i][0]; // kmax[2]=i; // } } // std::cout << l; Folgender unbegreiflicher Fehler tritt auf: Wenn ich l auskommentiert lasse (ich brauche l an keiner anderen Stelle im Programm und wie ihr seht in dem Schnipsel hier auch nicht) , dann wird zwar ohne zu meckern von meinem boarland-compiler kompiliert, aber sobald ich die exe starte gibt mir windows aus, dass die exe ein Problem festgestellt hat und beendet werden muss. Jetzt kommt aber das lustigeste an der ganzen Sache. Wenn ich l wieder einkommentiere, dann werden meine Maxima gefunden und ausgegeben. Und zwar die richtigen Werte. Was zur Hölle könnte das denn sein? Ich verstehe das überhaupt nicht. Habe schon alles mögliche ausprobiert und teilweise kompiliert, aber ich komme nicht auf den Fehler. Es muss doch auch ohne gehen. Für Hilfe bin ich wie immer sehr dankbar. Grüße Manu PS: Der Wert grenze ist ein int-Wert von 200. Bearbeitet 6. August 2010 von mathemanu
mathemanu Geschrieben 6. August 2010 Autor Geschrieben 6. August 2010 Oh, ja ich hab k noch nicht wieder in die Schleife geschreiben, aber da steht eigentlich: for(int k=0;k<9970;k++) Ich falle vom Glauben ab. Ich habe int k=0; einfach über der Schleife geschrieben und dann hat er immer diesen Fehler ausgespuckt. Aber jetzt ist er weg. Ich dachte, wenn man die Laufvariable außerhalb der Schliefe initialisiert, dann geht das auch... Vielen Dank für die Antwort. Es klappt jetzt auf jeden Fall. Gruß Manu
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden