Problem mit Vector, Endlosschleife
-
Hallo zusammen,
ich möchte Punkte in einem Bild umwandeln, jedoch komme ich schon nicht ganz mit dem Punkte hinzufügen in einen Vektor klar. Ich habe mal meinen Code hier reingestellt, er kompiliert, aber die die Schleife läuft sich tod, und ich weiß nicht warum. Hat villeicht einer von euch eine Idee?
//Histogramm anlegen struct A {double tmpbox[4];}; vector<A> histogram; //Histogramm füllen for (int x = 0; x < Bild_1.Breite; x++) { for (int y = 0; y < Bild_1.Hoehe; y++) { Punkt tmp = PunktHolenInt(&Bild_1, x, y); int sizeVector = histogram.size(); // Aktueller Punkt, mit Helligkeitswert A value; value.tmpbox[0] = tmp.Y; value.tmpbox[1] = 1; value.tmpbox[2] = 0; value.tmpbox[3] = 0; if (sizeVector == 0) { histogram.push_back(value); } else { int newEntry = 1; for (int i=0; i<sizeVector; i++) { if (histogram.at(i).tmpbox[0] == tmp.Y) { histogram.at(i).tmpbox[1]++; newEntry = 0; } } if (newEntry == 1) { // anscheinend liegt der fehler in dieser zeile, wenn ich diese weglasse, dann habe ich keine endlosschleife mehr histogram.push_back(value); } } } }
-
Deinem Kommentar in Zeile 33 zu folgen,vermute ich, dass
newEntry
immer 1 ist, Du einen Wert inhistogram
einfügst und die Schleife in Z.25 nie abbricht.Aber mit ein paar Testausgaben und ganau hinschauen hast Du das in den letzten fünf Stunden eh rausgefunden.
-
Furble Wurble schrieb:
Deinem Kommentar in Zeile 33 zu folgen,vermute ich, dass
newEntry
immer 1 ist, Du einen Wert inhistogram
einfügst und die Schleife in Z.25 nie abbricht.Aber mit ein paar Testausgaben und ganau hinschauen hast Du das in den letzten fünf Stunden eh rausgefunden.
Ähm...kann ja nicht sein, was ich da schreibe...
Ich gehe nochmal in mich.