c++ Eingaben in umgekehrter Reihenfolfe ausgeben
-
Hallo,
ich steh gerade mega auf dem Schlauch..
Ungeachtet der Fragestellung sollte das gezeigte Programm#include <iostream> using namespace std; int main() { int werte[10], i; for(i = 0; i < 10; i++) { cout << "Geben Sie eine Zahl ein: " << endl; cin >> werte[i]; } for(i = 0; i < 10; i++) { cout << werte[i] << endl; } return 0; }
Doch eigentlich 10 mal eine Zahl erfragen und nachdem 10 mal in der gleichen Reihenfolge wieder ausgeben.
Wenn ich das kompiliere und die Zahlen eintrage wird das Programm nachdem einlesen der Zahlen, also nach der ersten Schleife beendet. Wieso das?grüße
lou
-
@Lou-Cyphr3
Nö, das Programm gibt die 10 Zahlen aus, und wird dann beendet. Wahrscheinlich weißt Du nicht, wie man korrekterweise ein Konsolenprogramm startet.
-
Wird es wirklich einfach beendet?
-
Kann Problem nicht nachvollziehen: https://ideone.com/FM1CaZ
-
@manni66
Wie soll es sonst beendet werden, anstelle von 'einfach'?
-
@Belli sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
@manni66
Wie soll es sonst beendet werden, anstelle von 'einfach'?Es könnte vorher noch Werte ausgeben?
-
@Belli anscheindend nicht!? wie gehts denn richtig?
Meine Frage war quasi warum wird die zweite schleife nicht mehr aufgerufen?
-
@Lou-Cyphr3
Du öffnest ein Konsolenfenster *, bewegst Dich in das Verzeichnis, in dem Deine exe-Datei liegt, tippst den Namen der exe-Datei in das Konsolenfenster und drückst Enter.- Alternativ dazu kannst Du in dem Explorerfenster in das Verzeichnis manövrieren und oben in die Adressleiste cmd tippen, dann geht ein Konsolenfenster auf und Du befindest Dich schon im richtigen Verzeichnis, Rest wie beschrieben.
Wenn Du einfach nur im Windows-Explorer die exe-Datei doppelt klickst, schließt sich das Konsolenfenster bei Programmende sofort wieder - das geht so schnell, dass Du die Ausgabe des Programms nicht mehr zu sehen bekommst.
-
@Lou-Cyphr3 sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
@Belli anscheindend nicht!? wie gehts denn richtig?
Meine Frage war quasi warum wird die zweite schleife nicht mehr aufgerufen?Die WIRD ausgeführt! Sie dir doch den Link von @SeppJ an. Dann siehst du es grau auf weiß!
-
@Belli sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
Alternativ dazu kannst Du in dem Explorerfenster in das Verzeichnis manövrieren und oben in die Adressleiste cmd tippen, dann geht ein Konsolenfenster auf und Du befindest Dich schon im richtigen Verzeichnis
Wow, man lernt nie aus.
-
@Swordfish Stimmt, ich hab dieses Jahr die 60 voll gemacht und lerne immer noch täglich dazu - allerdings könnte es mittlerweile auch sein, dass ich öfter dasselbe 'dazu' lerne ...
-
@manni66
Tut es doch ... es gibt Werte aus und wird dann einfach beendet ...
-
@Belli soll das ein witz sein?
@wob ja hab ich mir angesehen. es funktioniert jetzt auch .
ich weiß aber nicht warum es vorhin nicht funktioniert hat.
naja egal.kann mir noch jemand noch erklären warum mir
#include <iostream> using namespace std; int main() { int werte[10], i; for(i = 0; i < 10; i++) { cout << "Geben Sie eine Zahl ein: " << endl; cin >> werte[i]; } for(i = 10; i > 0; i--) { cout << werte[i] << " " <<endl; } return EXIT_SUCCESS; }
hier als 1. Ausgabe der 2. Schleife irgendeine random Adresse ausgegeben wird?
-
@Lou-Cyphr3 sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
@Belli soll das ein witz sein?
Nein!
-
@Lou-Cyphr3: Überprüfe mal deine Indizes...
-
naja ich benutze linux und eine IDE, es sollte nicht am schlichten ausführen des programms liegen. bzw. ist ja schon obsolet, aber trotzdem danke
-
@Lou-Cyphr3 sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
kann mir noch jemand noch erklären warum mir
hier als 1. Ausgabe der 2. Schleife irgendeine random Adresse ausgegeben wird?
Weil Deine 2. Schleife mit dem Index 10 beginnt, Dein Array aber nur Indexe von 0 - 9 hat.
-
@Lou-Cyphr3 sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
naja ich benutze linux
Okay, dann vergiss, was ich geschrieben habe, obwohl es wahrscheinlich auf Linux ähnlich sein sollte, wie unter Windows?
-
@Belli
natürlich, danke habe ich übersehen.Ja grundsätzlich funktioniert es etwas gleich.
-
@Swordfish sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
@Belli sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
Alternativ dazu kannst Du in dem Explorerfenster in das Verzeichnis manövrieren und oben in die Adressleiste cmd tippen, dann geht ein Konsolenfenster auf und Du befindest Dich schon im richtigen Verzeichnis
Wow, man lernt nie aus.
Dieser Thread hat nun schon mindestens zwei vermeintlichen Experten etwas nützliches beigebracht