Fehler in for-schleifen-Zeile
-
Hallo... Ich bin ein Neuling in Sache C++
und finde den Fehler in einem Übungsskript nicht.
Ich weiss nicht, in welches Forum ich posten
soll und hoffe, ich habe hier das Richtige erwischt.#include<iostream> #include<vector> using namespace std; int main () { vector<int> Array; int Eingabe; while (Eingabe != 0) { cout << "Bitte Zahl eingeben! 0 Beendet die Schleife\n"; cin >> Eingabe; Array.push_back(Eingabe); } cout << "Hier die Eingaben: "; for (size_t vari = 0; vari < Eingabe.size(); vari++) { cout << Eingabe[vari]; } int stop; cin >> stop; }Die Schleife wird abgebrochen sobald er Benutzer eine 0 eingibt,
dann sollen alle vorigen Zahl-Eingaben aufgezählt werden.
Stattdessen meldet mein Dev-C++ einen Fehler in der Zeile,
in der die for-Anweisung sitzt...
-
Wenn du dir die for - Schleife etwas genauer anschaust, wirst du den Fehler schnell bemerken:
[cpp]for (size_t vari = 0; vari < Eingabe.size(); vari++) { cout << Eingabe[vari]; }[/cpp]Du musst die Laufvariable 'vari' mit der Größe des Vectors vergleichen, die Eingabe hat nichts mehr damit zu tun! Richtig wäre:
[code]vari < Array.size();[/code]Dasselbe gilt für die Ausgabe des Vectors; Sie geschieht durch den Befehl
[cpp]cout << Array(vari);[/cpp]Bis dann, Bobby - Karle
-
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { vector<int> Array; vector<int>::iterator Iter; int Eingabe = 1; while (Eingabe != 0) { cout << "Bitte Zahl eingeben! 0 Beendet die Schleife\n" << endl; cin >> Eingabe; Array.push_back(Eingabe); } cout << "Hier die Eingaben: " << endl; for (Iter = Array.begin(); Iter != Array.end(); ++Iter) { cout << *Iter << endl; } cin.get(); }
-
noobTime schrieb:
...
...int Eingabe; ... ...Eingabe.size()... ...Eingabe[vari]......

Ich kann mir kaum vorstellen, dass das ein Compiler durchgehen lässt....und wüsste auch gar nicht, was er daraus machen sollte.
Hast Du vielleicht einen Fehler beim Abtippen gemacht ?Gruß,
Simon2.
-
huch wie peinlich...
danke für eure Hilfe! o_o