NxN Matrix wie lese ich die Daten in ein 2D-Array ein?



  • Das ist ein Teil der Aufgabenstellung:

    Schreiben Sie ein C-Programm, das ein Menü mit folgenden Funktionen bereitstellt:

    Einlesen und prüfen einer NxN Matrix (Integerwerte).
    Berechnung und Ausgabe der Spur der Matrix.
    Berechnung der Transponierten der Matrix.

    Ich scheitere allerdings schon daran das ich es nicht bekomme eine NxN-Matrix einzulesen :((
    Die Spur habe ich berechnen können bei einer festgelegten Matrix aber mehr auch nicht...

    Kann mir irgendjemand helfen?? :)))



  • int i,j,martix[3][3];
    
    for (i=0;i<3;i++)
     for (j=0;j<3;i++) {
        scanf("%d", &matrix[i][j]);
        while(getchar()!='\n');
    }
    


  • Erst mal Danke für die schnelle Beantwortung...

    aber wie kann ich die Daten einlesen wenn die Anzahl der Array-Elemente unbekannt ist????
    Eben das im ersten durchlauf eine 3x3 Matrix berechnet wir und im zweiten eine 2x2 und so weiter???



  • dann brauchst du malloc()/free() und musst deine matrix selber aufbauen

    // code NICHT getestet
    int i, spalten = 15, zeilen = 20;
    int **matrix = 0;
    matrix = malloc(sizeof(int*) * zeilen);
    for(i = 0; i < zeilen; ++i)
        matrix[i] = malloc(sizeof(int) * spalten);
    

    auf keinen fall vergessen, die matrix hinterher mit free() wieder aufzurollen.


Anmelden zum Antworten