Die Aufgabe
Aufgabe 7.2
Schreiben Sie ein Programm A7_2, das zunächst die Elemente eines zehnstelligen Integer-Arrays a von der Tastatur einliest. Die Array-Elemente sollen anschließend um n Stellen wahlweise nach links oder rechts zyklisch verschoben werden, siehe Beispiel unten. Das Programm soll dazu die Anzahl n sowie die Information über die Verschieberichtung von der Tastatur einlesen. Für die Verschieberichtung gilt: Eingabe 0 ➔ Verschiebung nach links; Eingabe 1 ➔ Verschiebung nach rechts. Abschließend ist der verschobene Inhalt des Arrays auszugeben.
Das Programm soll dafür sorgen, dass die Eingaben von n und der Verschieberichtung jeweils solange wiederholt werden, bis die Werte gültig sind. n muss im Wertebereich 1 bis 9 liegen, für die Richtung werden nur die Werte 0 und 1 akzeptiert.
Beispiel:
| Eingabe der Array-Elemente: | 1 2 3 4 5 6 7 8 9 10 |
| Eingabe: | n = 4 für Verschieben um 4 Stellen |
| Eingabe: | 0 für Verschieben nach links |
| Ausgabe: | 5 6 7 8 9 10 1 2 3 4 |
Zyklisch verschieben heißt: Alle Elemente rücken um gleich viele Plätze weiter. Wer dabei über den Rand hinausrückt, landet am anderen Ende. Im Beispiel rücken 5 bis 10 um 4 Plätze nach links an den Anfang. 1 bis 4 fallen links hinaus und stehen danach hinten.
Das Programm liest erst die zehn Zahlen, dann n und die Richtung. Für n gilt 1 bis 9, für die Richtung 0 oder 1. Jede andere Eingabe wird wiederholt.
„Zehnstellig“ heißt hier: Das Array hat zehn Plätze. Es geht nicht um Zahlen mit zehn Ziffern.
- Zehn Zahlen in das Array a einlesen.
- n einlesen, bis es gültig ist.
- Die Richtung einlesen, bis sie gültig ist.
- Ein zweites Array b für das Ergebnis anlegen.
- Nach links verschieben.
- Nach rechts verschieben.
- Ergebnis ausgeben und testen.