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
    

Anmelden zum Antworten