Würde dieses Beispiel in einer Sprache funktionieren?
-
Hi,
kann man in irgendeiner Programmiersprache Variablen zur Laufzeit anlegen?
(Es folgt ein schlechtes Beispiel)for (int i=0;i<=3;i++) { int zahl[i] = getUserInput(); }Beziehungsweise, wie schreibt man als geübter Programmierer denn eine Funktion, die eine (vorher) unbestimmte Anzahl an Zahlen vom User entgegennimmt?
Edit: Und bitte nicht hauen, ich weiß, dass schon das kleine Beispiel da oben Augenkrebs verursacht
-
Hallo
Du könntest den User fragen, wie viele Zahlen er eingeben will, oder du schiebst alle Angaben in ein dynamisches Feld (c++: std::vector; c#: List<>)
chrische
-
Sicher gibt es auch Sprachen, die sowas unterstützen (bei Basic kenne ich es noch, daß eine Variable implizit angelegt wurde, wenn man ihren Namen erwähnt hat).
Aber in sauberem C++ würde ich für eine unbestimmte Anzahl von Werten einen mitwachsenden Container (std::vector<>) verwenden:
vector<int> zahlen; for (int i=0;i<=3;i++) { zahlen.push_back(getUserInput()); }(war das ungefähr das, was du meintest?
-
#!/usr/bin/perl for ($i=0; $i<=3; $i++) { $zahl[$i] = <STDIN>; } print "\n"; for ($i=0; $i<=3; $i++) { print "$i: $zahl[$i]"; }Beispielaufruf:
$ perl blubb.pl 423 54 456456 23 0: 423 1: 54 2: 456456 3: 23