c++ Eingaben in umgekehrter Reihenfolfe ausgeben
-
@DirkB Bin jetzt ein bisschen verwirrt
-
@Alimessi sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
@DirkB Bin jetzt ein bisschen verwirrt
Noch anders gefragt: wie gibst du das letzte Element aus, wie das vorletzte?
Und dann überlege, wie du das in deiner Schleife machen kannst.
Du hast generell 2 Möglichkeiten, aber in beiden wirst du subtrahieren müssen.
-
Bei Raketenstarts wird ähnlich gezählt.
-
@Alimessi sagte in c++ Eingaben in umgekehrter Reihenfolfe ausgeben:
for(i = 0; i < 10; i++)
Die for-Schleife hat vier Angaben
for( Initialisierung; Bedingung; Ausdruck) SchleifenkörperDie Initialisierung wird am Anfang gemacht. Meist setzt man die Laufvariable auf einen Startwert. (kann auch wegfallen und vorher gemacht werden)
Die Bedingung wird geprüft ob sie wahr ist und nur dann wird der Schleifenkörper ausgeführt (kann auch wegfallen, dann ist sie immer wahr)
Der Ausdruck wird nach dem Schleifenkörper ausgeführt. Das kann jedwede Berechnung sein. Idealerweise ändert sie irgendwas am Zustand der Schleife.(kann auch wegfallen, dann muss es woanders gemacht werden)
Der Schleifenkörper ist der Code, der wiederholt werden soll.Wie setzt man die Laufvariable, wenn die Schleife bei 9 anfangen soll?
Wie muss man i berechnen, wenn der Wert um 1 verringert werden soll?
-
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