diff --git a/matrix.c b/matrix.c index f5a0b83..9ede886 100644 --- a/matrix.c +++ b/matrix.c @@ -6,7 +6,25 @@ Matrix createMatrix(unsigned int rows, unsigned int cols) { - + Matrix m; + m.rows = rows; + m.cols = cols; + m.data = NULL; + + if(rows == 0 || cols == 0) + { + printf("Error"); + exit(EXIT_FAILURE); + } + + m.data = calloc(rows * cols, sizeof(MatrixType)); + if (m.data == NULL) + { + printf("Error"); + exit(EXIT_FAILURE); + } + + return m; } void clearMatrix(Matrix *matrix)