diff --git a/matriz.c b/matriz.c
index 50106e38e815d313a4cac152ebad206141a0353a..006686886385491598d6a88a442b0ab04cb45dac 100644
--- a/matriz.c
+++ b/matriz.c
@@ -96,8 +96,8 @@ MatRow geraMatRow (int m, int n, int zerar)
   if (matriz) {
     for (int i=0; i < m; ++i) {
       for (int j=0; j < n; ++j) {
-	if (zerar) matriz[i*m + j] = 0.0;
-        else       matriz[i*m + j] = generateRandomA(i, j);
+	if (zerar) matriz[i*n + j] = 0.0;
+        else       matriz[i*n + j] = generateRandomA(i, j);
       }
     }
   }
@@ -184,7 +184,7 @@ void multMatRowVet (MatRow mat, Vetor v, int m, int n, Vetor res)
   if (res) {
     for (int i=0; i < m; ++i)
       for (int j=0; j < n; ++j)
-        res[i] += mat[m*i + j] * v[j];
+        res[i] += mat[n*i + j] * v[j];
   }
 }
 
@@ -261,7 +261,7 @@ void prnMatRow (MatRow mat, int m, int n)
 {
   for (int i=0; i < m; ++i) {
     for (int j=0; j < n; ++j)
-      printf(DBL_FIELD, mat[m*i + j]);
+      printf(DBL_FIELD, mat[n*i + j]);
     printf("\n");
   }
   printf(SEP_RES);