Array vs. Memo^^



  • markus_krauss schrieb:

    habs mit const int versucht.
    [C++ Fehler] Konstante-Variable 'arr' muß initialisiert sein.

    Kannst du nicht lesen? Ich habe geschrieben, dass die Objekte, die die Grösse des Arrays angeben, const sein können. Zudem hat akari und ich bereits gesagt, dass in dem gezeigtem Code keine Fehler sind! Und wieso öffnest du drei Threads?



  • EOutOfResources schrieb:

    markus_krauss schrieb:

    habs mit const int versucht.
    [C++ Fehler] Konstante-Variable 'arr' muß initialisiert sein.

    Kannst du nicht lesen? Ich habe geschrieben, dass die Objekte, die die Grösse des Arrays angeben, const sein können. Zudem hat akari und ich bereits gesagt, dass in dem gezeigtem Code keine Fehler sind! Und wieso öffnest du drei Threads?

    int arr[2][3];
    
       arr[0][0] = 1;  
       arr[1][0] = 2;
       arr[2][0] = 3;
    
       arr[0][1] = 11; 
       arr[1][1] = 12;
       arr[2][1] = 13;
    
       arr[0][2] = 22; 
       arr[1][2] = 23;
       arr[2][2] = 24;
    
       arr[0][3] = 33; 
       arr[1][3] = 34;
       arr[2][3] = 35;
    

    Das ist mein Code, richtig geschrieben...



  • markus krauss schrieb:

    int arr[2][3];
    
       arr[0][0] = 1;  
       arr[1][0] = 2;
       arr[2][0] = 3; //Fehler
    
       arr[0][1] = 11; 
       arr[1][1] = 12;
       arr[2][1] = 13; //Fehler
    
       arr[0][2] = 22; 
       arr[1][2] = 23;
       arr[2][2] = 24; //Fehler
    
       arr[0][3] = 33; //Fehler
       arr[1][3] = 34; //Fehler
       arr[2][3] = 35; //Fehler
    

    Grundlagen in C++ fehlen auch...
    Ein Array [5] geht von 0 bis 4.



  • EOutOfResources schrieb:

    markus krauss schrieb:

    int arr[2][3];
    
       arr[0][0] = 1;  
       arr[1][0] = 2;
       arr[2][0] = 3; //Fehler
    
       arr[0][1] = 11; 
       arr[1][1] = 12;
       arr[2][1] = 13; //Fehler
    
       arr[0][2] = 22; 
       arr[1][2] = 23;
       arr[2][2] = 24; //Fehler
    
       arr[0][3] = 33; //Fehler
       arr[1][3] = 34; //Fehler
       arr[2][3] = 35; //Fehler
    

    Grundlagen in C++ fehlen auch...
    Ein Array [5] geht von 0 bis 4.

    wieso ist doch richtig ?!?!?!

    int arr[2][3]; //spalte ist arr[2]  und zeile ist arr[3]
    
       arr[0/*Spalte 1*/][0/*Zeile 1*/] = 1;   //Zeile 1  
       arr[1/*Spalte 2*/][0/*Zeile 1*/] = 2;
       arr[2/*Spalte 3*/][0/*Zeile 1*/] = 3;  
    
       arr[0][1] = 11;   //Zeile 2  
       arr[1][1] = 12;
       arr[2][1] = 13;
    
       arr[0][2] = 22;   Zeile 3
       arr[1][2] = 23;
       arr[2][2] = 24;
    
       arr[0][3] = 33;   // Zeile 4 
       arr[1][3] = 34;
       arr[2][3] = 35;
    


  • Hallo

    Zur Erklärung kurz nur eine Dimension : Mit arr[2] deklarierst du ein Array mit genau 2 Elementen. Die kannst du mit arr[0] ind arr[1] ansprechen. Der Zugriff auf arr[2] ist falsch, dieses Element gibt es nicht!

    bis bald
    akari



  • int arr[3][4];  // fehler geändert
    
       arr[0][0] = 1;
       arr[1][0] = 2;
       arr[2][0] = 3;
    
       arr[0][1] = 11;
       arr[1][1] = 12;
       arr[2][1] = 13;
    
       arr[0][2] = 22;
       arr[1][2] = 23;
       arr[2][2] = 24;
    
       arr[0][3] = 33;
       arr[1][3] = 34;
       arr[2][3] = 35;
    

    Fehler gändertn aber fehlermeldung da:
    **
    [C++ Fehler] Bezeichner 'arr' mehrfach deklariert
    [C++ Fehler] Array muß mindestens ein Element enthalten.
    **



  • Hallo

    Bitte lies doch auch mal die Fehlermeldungen des Compilers! Die sind immerhin auf Deutsch. Die erste Meldung ist doch klar und verständlich!

    bis bald
    akari



  • markus krauss schrieb:

    **[C++ Fehler] Bezeichner 'arr' mehrfach deklariert
    [C++ Fehler] Array muß mindestens ein Element enthalten.
    **

    Da steht ja was falsch ist.
    Wahrscheinlich steht irgendwo ein int vor einem arr .



  • EOutOfResources schrieb:

    markus krauss schrieb:

    **[C++ Fehler] Bezeichner 'arr' mehrfach deklariert
    [C++ Fehler] Array muß mindestens ein Element enthalten.
    **

    Da steht ja was falsch ist.
    Wahrscheinlich steht irgendwo ein int vor einem arr .

    was soll ich dann tun?

    das ist ein 3 x 4 Feld. Da muss ich doch alle auflisten, oder ?!?!

    das klappt immer noch net.

    und außerdem ist nirgendswo ein int vor einem arr. nur in der 1. zeile



  • außerdem denke ich mal, dass mehr werte haben will, als nur =
    arr[0][0] = 1;

    wahrscheinlich so
    arr[0][0] = 1,2; ?!?!?!?!



  • markus krauss schrieb:

    arr[0][0] = 1,2; ?!?!?!?!

    Wie kommst du jetzt hier drauf? Es sind ja immer noch Variablen vom Typ int .
    Dann poste bitte mal den ganzen Code, sonst wird das heute nichts mehr...



  • EOutOfResources schrieb:

    markus krauss schrieb:

    arr[0][0] = 1,2; ?!?!?!?!

    Wie kommst du jetzt hier drauf? Es sind ja immer noch Variablen vom Typ int .
    Dann poste bitte mal den ganzen Code, sonst wird das heute nichts mehr...

    Der ganze Code. Ich wollte klein anfangen, deshalb noch keine Buttons. aber wie
    soll ich weiter machen, wenn es nicht mal die Zeilen erkennt.^^

    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    
    int arr[3][4];
    
        arr[0][0] = 1;
        arr[1][0] = 2;
        arr[2][0] = 3;
    
        arr[0][1] = 11;
        arr[1][1] = 12;
        arr[2][1] = 13;
    
        arr[0][2] = 22;
        arr[1][2] = 23;
        arr[2][2] = 24;
    
        arr[0][3] = 33;
        arr[1][3] = 34;
        arr[2][3] = 35;
    
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    


  • Der Code sollt in Ordnung sein.
    Wird sonst nirgends arr verwendet?



  • markus krauss schrieb:

    EOutOfResources schrieb:

    markus krauss schrieb:

    arr[0][0] = 1,2; ?!?!?!?!

    Wie kommst du jetzt hier drauf? Es sind ja immer noch Variablen vom Typ int .
    Dann poste bitte mal den ganzen Code, sonst wird das heute nichts mehr...

    Der ganze Code. Ich wollte klein anfangen, deshalb noch keine Buttons. aber wie
    soll ich weiter machen, wenn es nicht mal die Zeilen erkennt.^^

    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    
    int arr[3][4];
    
        arr[0][0] = 1;
        arr[1][0] = 2;
        arr[2][0] = 3;
    
        arr[0][1] = 11;
        arr[1][1] = 12;
        arr[2][1] = 13;
    
        arr[0][2] = 22;
        arr[1][2] = 23;
        arr[2][2] = 24;
    
        arr[0][3] = 33;
        arr[1][3] = 34;
        arr[2][3] = 35;
    
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    

    der grund warum ich das mache: ich will in ein 3x4 Feld die größte Zahl raus picken und es ausgeben. aber das kommt erstmal später.^^



  • Hallo

    Wir sind davon ausgegangen, das du weißt, das man Zuweisungen nicht außerhalb von Funktionen schreiben kann... 🙄

    Diese Initialisierung kannst du nur so schreiben :

    int arr[3][4] = {{1,2,3},{11,12,13},{22,23,24}};
    

    bis bald
    akari



  • EOutOfResources schrieb:

    Der Code sollt in Ordnung sein.
    Wird sonst nirgends arr verwendet?

    nö^^



  • akari schrieb:

    Hallo

    Wir sind davon ausgegangen, das du weißt, das man Zuweisungen nicht außerhalb von Funktionen schreiben kann... 🙄

    Diese Initialisierung kannst du nur so schreiben :

    int arr[3][4] = {{1,2,3},{11,12,13},{22,23,24}};
    

    bis bald
    akari

    mein ziel war es die größte zahl zu finden. denkst du das klappt mit deine version ? ?? 👍 ??

    (3 x 4 Feld)



  • Aha, ich dachte auf Grund der Einrückung, sei der Code aus dem FormCreate .



  • markus krauss schrieb:

    denkst du das klappt mit deine version ? ?? 👍 ??

    Ja.



  • EOutOfResources schrieb:

    markus krauss schrieb:

    denkst du das klappt mit deine version ? ?? 👍 ??

    Ja.

    ENDLICH. 😃 danke für euer Geduld. dann hat sich das ja erledigt^^
    Letzte Frage:

    Könnt ihr ganz kurzen Sätzen zusammen fassen, wie ich vorgehen muss, wenn
    ich die größte Zahl herausfinden und es ausgeben möchte ?

    (Noch mal vielen Dank :))


Anmelden zum Antworten