Unendlich viele Variablen



  • Ich möchte beliebig viele Integer Variablen erzeugen. Bei Klick auf einen Button soll eine neue Variable erzeugt werden, wie ist das mögich? Ich habe erfahren, es soll mit einem array funktionieren. Doch was ist das überhaupt?

    MfG
    Hunterson



  • ein array ist eine aneinanderkettung von Variablen des selben typs

    //Erzeugen und Initialisieren
    array <Int32> ^m_Array = gcnew array <Int32> (10);
    for(Int32 a=0 ; a<m_Array->Length ; a++){
        m_Array[a] = a;
    }
    
    //Ausgabe in einer Console
    for(Int32 a=0 ; a<m_Array->Length ; a++){
        Console::WriteLine("Element {0} = {1}", a, m_Array[a]);
    }
    


  • Na, eher so:

    List<int> ^unendlicheListe = gcnew List<int>();
    unendlicheListe.Add(12);
    unendlicheListe.Add(100);
    // ...
    

    und ausgeben tut man so:

    for each(int i in unendlicheListe)
      Console::WriteLine(i.ToString());
    


  • ja, aber auf meine weise gehts auch... 😃

    ist nur länger...



  • denjo303 schrieb:

    ja, aber auf meine weise gehts auch... 😃

    Du legst bei Deinem Array z.B. schon am Anfang fest, wie viele Elemente dort max. drin sein sollen... das wollte IMHO der OP aber nicht... deshalb die List<> anstelle des Arrays... 😉



  • ok, ja, ich wollte nur allgemein das Array erleutern...

    Hunterson schrieb:

    Ich habe erfahren, es soll mit einem array funktionieren. Doch was ist das überhaupt?



  • Ahh... sorry.. hatte ich überlesen...



  • eine andere Idee wäre noch eine Verkettete Liste.
    Das wäre aber die etwas komplexere lösung und bedarf doch etwas erfahrung.
    Aber nur etwas... 😉



  • Danke, ich habe es mit einem Array versucht, ich brauche nur bis zu 10000 Werte. Kann ich diesen Array auch mit einer Graphic füllen anstatt mit Integern. Ich habe den Integer nämlich durch Graphics ersetzt, doch VC++ bringt folgende Fehlermeldungen:

    Fehler 3 error C2440: '=': 'System::Drawing::Graphics ^' kann nicht in 'cli::array<Type,dimension> ^' konvertiert werden c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 139
    Fehler 1 error C3149: "System::Drawing::Graphics": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden. c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 119
    Fehler 2 error C3149: "System::Drawing::Graphics": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden. c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 138

    EDIT: FROHE OSTERN



  • Hunterson schrieb:

    Danke, ich habe es mit einem Array versucht, ich brauche nur bis zu 10000 Werte. Kann ich diesen Array auch mit einer Graphic füllen anstatt mit Integern. Ich habe den Integer nämlich durch Graphics ersetzt, doch VC++ bringt folgende Fehlermeldungen:

    Fehler 3 error C2440: '=': 'System::Drawing::Graphics ^' kann nicht in 'cli::array<Type,dimension> ^' konvertiert werden c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 139
    Fehler 1 error C3149: "System::Drawing::Graphics": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden. c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 119
    Fehler 2 error C3149: "System::Drawing::Graphics": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden. c:\users\Ich\documents\visual studio 2008\projects\painxt\painxt\Form1.h 138

    Du kannst keine Graphics-Objekte im Array ablegen; was du tun kannst, ist Referenzen auf Graphics-Objekte darin ablegen. Das ist, was die Fehlermeldung "System::Drawing::Graphics": Dieser Typ kann ohne "^" der obersten Ebene hier nicht verwendet werden. aussagt. Also nicht cli::array<System::Drawing::Graphics> sondern cli::array<System::Drawing::Graphics ^> ... 😉

    MfG


Anmelden zum Antworten