#define DIM 512

unsigned int matrix_1[DIM][DIM];
unsigned int matrix_2[DIM][DIM];
unsigned int matrix_3[DIM][DIM];

main () {
  int i, j, k;

  /* inicializacao da primeira matriz */
  for (i=0; i<DIM; i++) {
    for (j=0; j<DIM; j++) {
      matrix_1[i][j] = 12;
    }
  }
	
  /* inicializacao da segunda matriz */
  for (i=0; i<DIM; i++) {
    for (j=0; j<DIM; j++) {
      matrix_2[i][j] = 12;
    }
  }

  /* inicializacao da terceira matriz */
  for (i=0; i<DIM; i++) {
    for (j=0; j<DIM; j++) {
      matrix_3[i][j] = 0;
    }
  }
  
  /* calculo do produto de duas matrizes quadradas */
  for (i=0; i<DIM; i++) {
    for (j=0; j<DIM; j++) {
      for (k=0; k<DIM; k++) {
	matrix_3[i][j] = matrix_3[i][j] + (matrix_1[k][j] * matrix_2[i][k]);
      }
    }
  }
}
