Zahlenreihe fortsetzen

M

marco_laif

Grünschnabel
Hi Leute,

ich mache gerade mein Abi und habe von meinem Lehrer die Aufgabe bekommen ein Script zu schreiben, dass folgende Zahlenreihe fortsetzt.

1
1 1
2 1
1 1 1 2
3 1 1 2
2 1 1 2 1 3

Den Aufbau der Reihe verstehe ich noch. Es wird lediglich gezählt wie oft die jeweilige Zahl in der vorherigen Zeile vorkommt.

Zum Beispiel kommen in Zeile 4 drei Einsen und eine Zwei vor. Also steht in Zeile 5:
3 (*) 1 (und) 1 (*) 2.

Es ist die einzige Aufgabe auf 9 Übungsblättern, die ich nicht hinbekomme und morgen ist Abgabe. Hat jemand einen Tipp wie ich das machen kann ???

Viele Grüße und Danke euch im Vorraus,
Marco
 
Du beschreibst mit einer Zeile die Zeile darüber:

1
ein mal eins (1 1)
zwei mal eins (2 1)
ein mal 1 (1 1) ein mal 2 (1 2)
drei mal 1 (3 1) ein mal 2(1 2)
zwei mal 1 (2 1) ein mal 2(1 2) ein mal 3(1 3)
drei mal 1(3 1) zwei mal 2 (2 2) ein mal 3(1 3)
usw

Das shell script solltest du ja hoffentlich hinbekommen
 
Hi,

mein Lösungsansatz ist folgendes:

Ich benutze zwei Arrays. Eins für die Zahlenreihe und eins für die Speicherung der Anzahl der einzelnen Zahlen.
Dann gehe ich das erste Array mit einem CASE von vorne nach hinten durch und erhöhe jeweils die Anzahl der aktuellen Zahl um 1.
Am Ende schreibe ich die Zahlen, deren Anzahl nicht 0 ist mit ihrer Anzahl in die (neue) Zahlenreihe.

Vielleicht ist das auch nicht gerade der beste Ansatz, aber ich versuche es mal so. Falls das klappt poste ich den Code hier.

Grüße Sascha
 
Code:
#!/bin/bash

a[1]=1 && echo ${a[1]}
for i in $(seq 1 13); do
    l=$(for i in $(seq 1 ${#a[@]}); do echo -n ${a[$i]} "$i "; done) 
    echo "$l"
    for i in $(seq 1 ${#a[@]}); do a[$i]=0;  done                     
    while IFS= read -n1 n;do
        (( a[$n]++ ))                                                              
    done< <( echo -n "$l")
done

Witzig ist, dass es einen "Grenzwert" gibt:

Code:
1
11
21
1112
3112
211213
312213
212223
114213
31121314
41122314
31221324
21322314
21322314
 

Ähnliche Themen

Probs mit Perl script

KDE bzw X Lässt sich nicht mehr starten

Aufgabe

Klausurfragen

sed spaltenweise bearbeiten ohne awk?

Zurück
Oben