|< 1 2 3 >| | 22 Einträge, 3 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/perl -w my @zeilen; $zeilen[0] = 'Zebra'; $zeilen[1] = 'Affe'; $zeilen[2] = 'Loewe'; $zeilen[3] = 'Baer'; $zeilen[4] = 'Pinguin'; my $anzahl = 5; my $aktion = 1; while ($aktion){ $aktion = 0; for (my $i = 0; $i < $anzahl - 1; $i++){ if ($zeilen[$i] ge $zeilen[$i + 1]){ ($zeilen[$i], $zeilen[$i + 1]) = ($zeilen[$i + 1], $zeilen[$i]); $aktion = 1; } } } for (my $i = 0; $i < $anzahl; $i++){ print "$zeilen[$i]\n"; }
Gast+2009-01-06 16:08:02--
Code (perl): (dl )1 2 3 4 5 6my @zeilen; $zeilen[0] = 'Zebra'; $zeilen[1] = 'Affe'; $zeilen[2] = 'Loewe'; $zeilen[3] = 'Baer'; $zeilen[4] = 'Pinguin';
my @zeilen = qw/ Zebra Affe Loewe Baer Punguin /;
Gast+2009-01-06 17:21:36--ja laufen tut es. mein problem ist nur ich versteh nicht wie es auf die reihenfolge kommt. Programm ist nicht von mir sondern ein Beispiel , bei dem man angeben soll, was bei dem programm am bildschirm rauskommt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#!/usr/bin/perl -w my @zeilen = qw( Zebra Affe Loewe Baer Pinguin ); my $anzahl = @zeilen; my $aktion = 1; while ($aktion) { $aktion = 0; for (my $i = 0; $i < $anzahl - 1; $i++){ # lexikalischer vergleich; # wenn das aktuelle element groesser als das folgende ist if ($zeilen[$i] ge $zeilen[$i + 1]){ # vertausche ihre positionen ( $zeilen[$i], $zeilen[$i + 1] ) = ( $zeilen[$i + 1], $zeilen[$i] ); # weitermachen; $aktion = 1; } # irgendwann greift die if-Bedingung nicht mehr und # $aktion bleibt 0; dann wird die while-Schleife beendet } } for (my $i = 0; $i < $anzahl; $i++){ print "$zeilen[$i]\n"; }
my $anzahl = my @zeilen = qw( Zebra Affe Loewe Baer Pinguin );
print "$_\n" for @zeilen;
|< 1 2 3 >| | 22 Einträge, 3 Seiten |