Thread Problem: Endlosschleife? (3 answers)
Opened by Pida at 2007-02-23 14:50

Pida
 2007-02-23 17:50
#74546 #74546
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
Vielen Dank für eure Ratschläge.

Ich habe den Tip bezüglich der For-Schleifen so weit umgesetzt, wie mir das möglich war und bin weiter gekommen. Jetzt hänge ich nur noch an einer einzigen For-Schleife:

Die Schleife ist Teil einer anderen und wird im Programmablauf mehrmals aufgerufen. Wie ich anhand der ersten print-Anweisung feststellen kann, funktioniert das auch soweit. Ausgegeben wird 3 bzw. 2 bzw. 1. Entsprechend wird $r_i initialisiert. Für die letzten 2 Fälle gilt dabei, dass das Array aus Zeile 2 nicht leer ist. Es müsste also die while-Schleife durchlaufen werden. Offensichtlich geschieht dies aber nie, denn die zweite Printanweisung wird nie ausgeführt.

Woran hakt es jetzt noch?

Gruß, Pida

Code: (dl )
1
2
3
4
5
6
7
8
9
print "$s_i";  
for (my $r_i = $s_i; $r_i > 0; $r_i--) { # für diesen satz und alle davor tue while (@{$referentenliste{$r_i}}) { # solange es referenten im aktuellen satz gibt
my $kandidat = shift (@{$referentenliste{$r_i}}); # shifte einen referenten
print "kandidat: $kandidat";
if ($kandidat =~ /$muster/) { # wenn $muster teil des aktuellen referenten ist
push (@kandidatenliste, $kandidat); # pushe den aktuellen referenten auf's Array
}
}
}

View full thread Problem: Endlosschleife?