Antwort zuordnen in einer Liste - Schleifenproblem
Verfasst: 31.01.2007 21:12
Folgende Daten habe ich:
00. 24
01. 21
02. 19
03. 18
04. 13
05. 12
06. 8
07. 5
08. 4
09. 3
10. 2
11. 1
12. 0
13. 1
14. 0
15. 2
16. 1
17. 0
18. 3
19. 2
20. 1
21. 0
22. 0
23. 1
24. 0
Ich habe die Daten damit aufs Nötigste reduziert. Die erste Zahl ist die Zeilennummer und die 2. Zahl die Anzahl der zugehörigen Unterzeilen.
D.h.:
- der Zeile 00 folgen 24 Zeilen (01-24)
- der Zeile 06 folgen 8 Zeilen (07-12 und 13-14)
- der Zeile 18 folgen 3 Zeilen (19-21)
Das Prinzip ist erkennbar. Nun muss ich aber genau dieses Prinzip mit einer Schleife umsetzen. Und zwar muss ich jeder Zeile Ihren Master zuordnen.
D.h.:
- 00 hat keine
- 01 hat 00 als Master
- 02 hat 01 als Master
- 03 hat 02 als Master
- 04 hat 03 als Master
- 05 hat 04 als Master
- 06 hat 05 als Master
usw.
- 22 hat 01 als Master
- 23 hat 00 als Master
- 24 hat 23 als Master
Jetzt frage ich mich, wie ich das automatisiert hinkriegen könnte.
Im Kopf mache ich das, in dem ich die Anzahl der Unterzeilen nehme, abzähle und dann weiß, dass alle die dann danach kommen eine neue Gruppe bilden.
Aber gerade wenn es so verschachtelt ist wie jetzt, ist das beim nachdenken teilweise so unübersichtlich, dass ich es mir gerade selber schwer mache, daraus eine automatische Schleife zu basteln.
Bedingungen, die ich jetzt schon klar weiß:
- 00 muss ein Master sein, da vor ihr keine Zeile mehr kommt
- 01 muss 00 als Master haben, da sonst kein Master in Frage kommt

- 02 hat selbst 19 Unterzeilen, da die möglichen Antworten aus Zeile 01 nicht aufgebraucht sind, muss die Zeile 01 auch die Masterzeile sein.
...
Da muss schon der Denkfehler sein. Denn wenn ich X verschachtelte Elemente aufbaue, müsste ich bei jeder Unterzeilengruppe einen Zähler mitlaufen lassen. Und da ich die Schachteltiefe nicht kenne (auch nicht die Maximale) wüsste ich nicht, wie ich da klar kommen soll.
Hier vielleicht noch mal ein Skizze. Beim Anfertigen ist mir aufgefallen, dass ich von Innen nach Außen gearbeitet habe. Anders ist es denke ich vielleicht gar nicht machbar
[ externes Bild ]
00. 24
01. 21
02. 19
03. 18
04. 13
05. 12
06. 8
07. 5
08. 4
09. 3
10. 2
11. 1
12. 0
13. 1
14. 0
15. 2
16. 1
17. 0
18. 3
19. 2
20. 1
21. 0
22. 0
23. 1
24. 0
Ich habe die Daten damit aufs Nötigste reduziert. Die erste Zahl ist die Zeilennummer und die 2. Zahl die Anzahl der zugehörigen Unterzeilen.
D.h.:
- der Zeile 00 folgen 24 Zeilen (01-24)
- der Zeile 06 folgen 8 Zeilen (07-12 und 13-14)
- der Zeile 18 folgen 3 Zeilen (19-21)
Das Prinzip ist erkennbar. Nun muss ich aber genau dieses Prinzip mit einer Schleife umsetzen. Und zwar muss ich jeder Zeile Ihren Master zuordnen.
D.h.:
- 00 hat keine
- 01 hat 00 als Master
- 02 hat 01 als Master
- 03 hat 02 als Master
- 04 hat 03 als Master
- 05 hat 04 als Master
- 06 hat 05 als Master
usw.
- 22 hat 01 als Master
- 23 hat 00 als Master
- 24 hat 23 als Master
Jetzt frage ich mich, wie ich das automatisiert hinkriegen könnte.
Im Kopf mache ich das, in dem ich die Anzahl der Unterzeilen nehme, abzähle und dann weiß, dass alle die dann danach kommen eine neue Gruppe bilden.
Aber gerade wenn es so verschachtelt ist wie jetzt, ist das beim nachdenken teilweise so unübersichtlich, dass ich es mir gerade selber schwer mache, daraus eine automatische Schleife zu basteln.
Bedingungen, die ich jetzt schon klar weiß:
- 00 muss ein Master sein, da vor ihr keine Zeile mehr kommt
- 01 muss 00 als Master haben, da sonst kein Master in Frage kommt

- 02 hat selbst 19 Unterzeilen, da die möglichen Antworten aus Zeile 01 nicht aufgebraucht sind, muss die Zeile 01 auch die Masterzeile sein.
...
Da muss schon der Denkfehler sein. Denn wenn ich X verschachtelte Elemente aufbaue, müsste ich bei jeder Unterzeilengruppe einen Zähler mitlaufen lassen. Und da ich die Schachteltiefe nicht kenne (auch nicht die Maximale) wüsste ich nicht, wie ich da klar kommen soll.
Hier vielleicht noch mal ein Skizze. Beim Anfertigen ist mir aufgefallen, dass ich von Innen nach Außen gearbeitet habe. Anders ist es denke ich vielleicht gar nicht machbar

[ externes Bild ]