#include <stdio.h>
#include <stdlib.h>
int main()
{   int m1,n1,m2,n2,sum=0,k;
    //Gre Matrix A
    printf ("Wieviele Zeilen soll Matrix A haben:");
    scanf("%i",&m1);
    printf("\nWieviele Spalten soll  Matrix A haben:");
    scanf("%i",&n1);
    //Gre Matrix B
    printf ("\nWieviele Zeilen soll Matrix B haben:");
    scanf("%i",&m2);
    printf("\nWieviele Spalten soll  Matrix B haben:");
    scanf("%i",&n2);
    int A[m1+1][n1+1],B[m2+1][n2+1],i=1,j=1,C[m1+1][n2+1];
//Matrix A init
for (j=0;j<m1;j++)
    {for (i=0;i<n1;i++)
   {printf("\nGeben Sie den Wert fur Matrix A Zeile%i/Spalte%i ein:",j+1,i+1);
    scanf("%i",&A[j]);}}
//Matrix B init
for (j=0;j<m2;j++)
    {for (i=0;i<n2;i++)
   {printf("\nGeben Sie den Wert fur Matrix B Zeile%i/Spalte%i ein:",j+1,i+1);
    scanf("%i",&B[j]);}}
//Matrix A ausgeben
printf("\nSie haben Matrix A wiefolgt initialisiert:\n");
for(j=0; j<m1; j++) {
   for(i=0; i<n1; i++) {
        printf(" %i  ", A[j]);
   }
      printf("\n");
}
//Matrix B ausgeben
printf("\nSie haben Matrix B wiefolgt initialisiert:\n");
for(j=0; j<m2; j++) {
   for(i=0; i<n2; i++) {
       printf(" %i  ", A[j]);
   }
   printf("\n");
}
//case abfrage ob Multiplizieren oder Addieren
int fall;
printf("\n Wollen Sie Ihre eingegebenen Matrizen Addieren geben Sie 1 ein:\n Wollen Sie Ihre eingegebenen Matrizen Multiplizieren geben sie 2 ein:\n");
scanf("%i",&fall);
switch (fall)
{//fall 1 Addieren
    case 1:
 if (m1==m2&& n1==n2&& fall==1)
 {
     for (j=0;j<m1;j++)
        {for (i=0;i<n1;i++)
        {A[j]=A[j]+B[j];
        }}
        printf("\nIhre Matrizen wurden Addiert und es fuehrte zu folgendem Ergebnis:\n");
        for(j=0; j<m1; j++)
{
   for(i=0; i<n1; i++) {
      printf(" %i  ", A[j]);
   }
      printf("\n");
}
 }
 else
    printf("\nEine Addition ist nicht mglich da Ihre Matrizen unterschiedlich gro sind!");
break;
//fall 2 Multiplizieren
    case 2:
        if(n1==m2)
        {  for (j=0;j<m2;j++)
           {for (k=0;k<n2;k++)
            {for (i=0;i<n1;i++)
            sum=sum+A[j]*B[j+k];}
               C[j][k]=sum;
           }
           printf("\nDie Multiplikation ergab folgendes Ergebnis:\n");
            for(j=0; j<m1; j++) {
            for(i=0; i<n2; i++) {
            printf(" %i  ", C[j]);
                }
            printf("\n");
}
}
        else
        printf("\nEine Multiplikation n ist nicht mglich da die Spaltenanzahl von Matrix A nicht mit der Zeilenanzahl von Matrix B bereinstimmt!");
        break;
        default : printf("Porgrammfehler");
}
    return 0;
}
Das Problem dass ich habe ist bei case 2 die multiplikation funktioniert nicht.
| Kuchenmann Gast | 


![Huh [???]](https://www.computerhilfen.de/hilfen/Smileys/german/huh.gif)