perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 27
Click for quality!




10.02.2012 / 09:22

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragArray mit n Zahlen???
Seitenanfang
Hallo,

ich kann ein Array folgendermaßen deklarieren:

I.
@Werte=(1,2,3);
oder
II.
$a=1,$b=2,$c=3;
@Werte=($a,$b,$c);

Wie mache ich das mit beliebig vielen (n) Zahlen, in Verbindung mit einer Abfrage? Zum Beispiel:

Programm: Wieviele Zahlen möchten Sie eingeben?
Eingabe n: 10
Programm: Geben Sie die Listenelemente ein.
Eingabe: 1,5,6,8,9,0,10,7,5,3,77

Also, wie muss so ein Algorithmus aussehen?

Besten Dank,

mesmero

Datum: 09.05.2007-21:41

Beitragre: Array mit n Zahlen???
Seitenanfang
Du kannst mit den Funktionen 'push' und 'unshift' ein Element dem Array hinzufuegen und mit 'pop' und 'shift' lassen sich einzelne Elemente entfernen.


my @array;

my $anzahl = 10;

for(1 .. $anzahl) {
push(@array, $_);
}


fuegt die Zahlen von 1 bis 10 ans '@array' hinten an

Datum: 09.05.2007-22:04

BeitragArray mit n Zahlen???
Seitenanfang
Wie sieht das konkret, mit Abfrage, aus? Also nicht nur mit Abfrage der Anzahl der Listenelemente, sondern _auch mit_ Eingabe der einzelnen Listenelemente?

Datum: 10.05.2007-08:28

Beitragre: Array mit n Zahlen???
Seitenanfang
Von der Standardeingabe liest du mit <STDIN>

my $eingabe = <STDIN>;

jetzt steht in der Variablen '$eingabe' die Eingabe die der Benutzer gemacht hat, gefolgt von einen Zeilenumbruchzeichen, dass nicht benoetigt wird und mit 'chop' bzw. 'chomp' entfernt werden kann. So dass das lesen der Eingabe dann so aussehen kann

my $eingabe = <STDIN>;
chomp($eingabe);

Diese zwei Zeilen musst du nur noch in den obigen Code einbauen, einmal vor der 'for'-Schleife um die Anzahl (Variable '$anzahl') der Durchgaenge festzulegen.
Und einmal in der Schleife um die Zahlen einzulesen und mit 'push' im '@array' zu speichern.
Die Zahlen werden zeilenweise eingelesen, also der Benutzer muss nach jeder Zahl die 'Enter'- bzw. 'Return'-Taste druecken.

Ich empfehle dir fuer's Erste, dass du dir die folgende Perl-Einfuehrung [0] einmal zu Gemuete fuehrst, denn deine Fragestellungen behandeln nur Perlgrundlagen die durch eine Einfuehrung innerhalb kurzer Zeit zu erlernen ist. Das Kapitel Arrayvariablen [1] und Kapitel Files und Filehandling [2] behandeln die hier zur Sprache kommenden Perl-Thematiken.

[0] Perl Tutorial
http://www.perlunity.de/perl/tutorial/perl_start.shtml

[1] Kapitel Arrayvariablen
http://www.perlunity.de/perl/tutorial/arrays.shtml

[2] Kapitel Files und Filehandling
http://www.perlunity.de/perl/tutorial/filehandling.shtml

Datum: 10.05.2007-12:25

-






-
-