Vector subscript out of range...
-
Dank dir Volkard

Funktioniert !
Lg Mentras
-
Wenn ich jetzt raten müßte, würde ich vermuten, daß Du schon recht lange Basic machst, vermutlich schon länger als ein Jahr. Und wenn ich sagen dürfte, was ich vermute, würde ich sagen, was mich vermuten läßt, daß Du schnell ein Lisp-Buch zwischenschieben solltest, bevor Du dich weiter mit C++ beschäftigst.
-
Joah, da liegst du nicht falsch.
Wie ist das mit einem Lisp-Buch gemeint? Lese z.Z. http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1787
Also alles von Anfang an...^^
-
Meine Variante:
#include <iostream> #include <vector> using namespace std; int main() { int eingabe; int zwsp=0; vector<int> felder; while(eingabe != 0) { cout << "Gib eine Zahl ein! - ENDE -Zahl!" << endl; cin >> eingabe; if(eingabe == 0) break; felder.push_back(eingabe); } for(unsigned int z = 0; z < felder.size(); z++) { cout << felder[z] << endl; } }Ich würd mal eher den Code verwenden.
Dein Code:
#include <iostream> #include <vector> using namespace std; int main() { int eingabe, zwsp=0; //ein wenig unübersichtlich, aber das ist Geschmackssache vector<int> felder; do { cout << "Gib eine Zahl ein! - ENDE -Zahl!" << endl; cin >> eingabe; felder.push_back(eingabe); //auch die negative Zahl wird eingegeben, was ist wenn ich das nicht will? } while(eingabe > 0); zwsp = felder.size(); //wofür diese variable anlegen? for(unsigned int z=0; z <= felder.size();z++) //du hast doch hier z um durch den vector zu laufen { cout << felder[zwsp] << endl; //hier z einsetzen zwsp-= 1; //wird somit überflüssig } }
-
Mentras schrieb:
Wie ist das mit einem Lisp-Buch gemeint?
Damit ist gemeint, daß Du dir auf amazon.de einen Account einrichtest, das beste Lisp-Buch für Dich, was du findest, auf den Wuschzettel stellst, mir einen Link auf deinen Wunschzettel gibst und ich bezahle Dir das Buch (ist jetzt das einfachste Protokoll, das sicherstellt, daß ich von Dir weder Namen noch Wohnort erfahre, will ich auch gar nicht wissen).
-

Ein Account auf Amazon hab ich. Aber wieso willst du mir ein Buch kaufen? oO Ich kenn Dich kaum
Ist nicht böse gemeint, jedoch kommt mir das merkwürdig vor...Lg Mentras
P.S.: FreakY<3Cpp, danke für deinen Code muss mich noch an einem Schreibstil gewöhnen... In VB hat für mich die IDE alles gemacht...^^
Du hast auch Recht, hab unnötige Variablen definiert... dauert halt noch etwas,...
-
Mentras schrieb:
Aber wieso willst du mir ein Buch kaufen?
Weil ich einfach den unbestimmten Eindruck habe, daß aus Dir mal ein ganz großer Informatiker wird und ich mit dieser Intervention Dich auf einen Hops vielleicht zwei Jahre weiterbringen kann (und vom frühzeitegen Gamecoden abbringen).
Mentras schrieb:
oO Ich kenn Dich kaum
Ist nicht böse gemeint, jedoch kommt mir das merkwürdig vor...Klar ist das merkwürdig. Deswegen bestehe ich ja drauf, daß ich deine persönlichen Daten nicht erfahre.
Wenn Du denkst, es diene nur dazu, Dir eine Falle zu stellen, denk Dir einfach ein anderes Protokoll aus, zum Beispiel als Lieferadresse dein Anwalt, oder bitte den örtlichen Bademeister, daß er als Treuhänder fungiert und das Päckchen annimt.
-
Mentras schrieb:
P.S.: FreakY<3Cpp, danke für deinen Code muss mich noch an einem Schreibstil gewöhnen... In VB hat für mich die IDE alles gemacht...^^
Falls es um die Einrückung geht, viele C++-IDEs machen das aus Anfrage.
Zum Beispiel microsoftige machen das mit Strg+A (alles markieren) und dann Alt+F8 (Markierung verhübschen).
-
volkard, ich hab eben mit C# angefangen, kaufste mir ein Buch ? :p
-
FreakY<3Cpp schrieb:
Meine Variante:
[...]
Ich würd mal eher den Code verwenden.Dein Code:
[...]Dann solltest du aber noch dazusagen (wenn ich mich gerade nicht sehr vertue), dass dein Code semantisch nicht ganz identisch ist, weil sein alter Code den vector rückwärts und deiner vorwärts ausgibt.
Felix
-
volkard schrieb:
Mentras schrieb:
Aber wieso willst du mir ein Buch kaufen?
Weil ich einfach den unbestimmten Eindruck habe, daß aus Dir mal ein ganz großer Informatiker wird und ich mit dieser Intervention Dich auf einen Hops vielleicht zwei Jahre weiterbringen kann (und vom frühzeitegen Gamecoden abbringen).
Huch, das find ich echt nett!! oO
Dafür muss ich mich natürlich revanchieren,...Könnten wir privat reden? ^^ Ist etwas freizügig für mich

Falls du ICQ hättest: 378105535
Lg Mentras
P.S.: Phoemuex, der Code von FreakY<3Cpp stimmt schon
In diesem Abschnitt:zwsp = felder.size()-1; for(unsigned int z=0; z < felder.size();z++) { cout << felder[zwsp] << endl; zwsp-= 1; }Wird alles von hinten nach vorne ausgegeben.
-
Na gut, wenn man unbedingt will, dass die Zahlen rückwärts ausgegeben werden, dann könnte man die for-Schleife so machen:
for(unsigned int z = felder.size(); z > 0; z--) { cout << felder[z-1] << endl; }
-
FreakY<3Cpp schrieb:
Na gut, wenn man unbedingt will, dass die Zahlen rückwärts ausgegeben werden, dann könnte man die for-Schleife so machen:
for(unsigned int z = felder.size(); z > 0; z--) { cout << felder[z-1] << endl; }Dein Code hat funktioniert... Er gibt die Zahlen rückwärts aus.