#include <stdio.h>         /* Felder - Matrizen */

/* 16. Zwei Matrizen A und B vom Format (m,n) bzw. (n,k) sind zu erzeugen.
Das Produkt beider Matrizen ist zu bilden und darzustellen.
------------------------------------------------------------------------------*/

int main()
{
   float matrix1[10][10], matrix2[10][10], matrix3[10][10];
   int m, n, i, j, k, r;  

   m=3;  r=4; n=5;                                 /* (m,r)*(r,n) -> (m,n)  */
   printf("\n 4-2-5 Produkt von Matrizen mit Format: (3,4)*(4,5)->(3,5)\n");

   for (i=0; i<m; i++)
   {  for (j=0; j<r; j++) { matrix1[i][j]=rand()%10;
                            printf("%7.1f", matrix1[i][j]);
                          }
      printf("\n");
   }
   printf("\n");
   for (i=0; i<r; i++)
   {  for (j=0; j<n; j++) { matrix2[i][j]=rand()%10;
                            printf("%7.1f", matrix2[i][j]);
                          }
      printf("\n");
   }
   printf("\n");
   for (i=0; i<m; i++)
   {  for (j=0; j<n; j++)
      {  matrix3[i][j]=0;
         for (k=0; k<r; k++) matrix3[i][j] += matrix1[i][k] * matrix2[k][j];
         printf("%7.1f", matrix3[i][j]);
      }
      printf("\n");
   }                                               

  printf("\n\n"); system("PAUSE"); return 0;
}
