M1

Code C - Multiplication matrices

#include <stdlib.h>
#include <stdio.h>

#define NB_L 3
#define NB_C 3

void multiplier(int A[NB_L][NB_C], int B[NB_L][NB_C], int C[NB_L][NB_C]) {
  int i, j, k;
  // int **C = (int **)malloc(sizeof(int*) * NB_L);

  for (i = 0; i <= NB_L; i++) {
    // C[i] = (int *)(malloc(sizeof(int) * NB_C));

    for (j = 0; j <= NB_C; j++) {
      C[i][j] = 0;

      for (k = 0; k < NB_L; k++) {
        C[i][j] += A[i][k] * B[k][j];
      }
    }
  }
}

int main() {
  int A[NB_L][NB_C] = {
    {1, 2, 3},
    {5, 6, 7},
    {9, 10, 11}
  };

  int B[NB_L][NB_C] = {
    {1, 0, 0},
    {0, 1, 0},
    {0, 0, 1}
  };

  int C[NB_L][NB_C];
  int i, j;

  multiplier(A, B, C);

  for (i = 0; i < NB_L; i++) {
    printf("|");

    for (j = 0; j < NB_C; j++) {
      printf(" %5d |", C[i][j]);
    }

    printf("\n");
  }

  return 0;
}