Matrix addieren



  • Hi , ich habe die aufgabe Zwei Matrizen zu addieren und das Ergebnis soll als Matrix auch wiedergegeben werden. Dabei soll das einlesen der Matrix in einer Funktion statt finden. Dies habe ich auch in meinem code programmiert aber ich bekomme immer falsche Ergebnisse heraus und die Zahlen werden nicht als Matrix dargestellt. Vielen Dank im Vorraus

    #include <stdio.h>

    int einlesen (int feld[][3]){
    int i, j;
    for (i=0; i<3; i++){
    for (j=0; j<3; j++){
    scanf("%i", &feld[i][j]);
    }
    }
    return feld[i][j];}

    int main(){

    int feld [3][3];
    int feld2 [3][3];
    int ergebnis [3][3];

    einlesen(feld);
    einlesen(feld2);
    printf("%d\n",feld[3][3]);
    ergebnis[3][3]=feld[3][3]feld2[3][3];
    printf("%i",ergebnis[3][3]);
    return 0;
    }



  • Weißt du was Code-Tags sind?! Wenn nicht google es nach und benutze sie!

    Das ist nie und nimmer der originale Code, wo wird denn da was addiert?!



  • Bei einem Array musst du zwischen Definition und Zugriff unterscheiden.

    Bei der Definition gibst du die Anzahl der Elemente an.
    Beim Zugriff gibst du den Index des Elements an. Der fängt in C immer bei 0 an. Immer.

    int feld[3]; // Ein Array namens feld mit 3 Elementen vom Typ int wird definiert.

    printf("%d\n", feld[2]); // Du greifst lesend auf das 3. Element zu.

    Das Element feld[3] existiert nicht.
    Somit ist der Zugriff darauf verboten. Der C-Compiler hindert dich jedoch nicht daran es zu tun.

    Operationen, die das ganze Array behandeln gibt es in C nicht.
    (Für char-Arrays gibt es Funktionen, die Strings behandeln)



  • Operatoren auf Array gibt es sehr wohl, z.B. & und sizeof.


Anmelden zum Antworten