diff --git a/matrix.c b/matrix.c index ad00628..d1c4bd1 100644 --- a/matrix.c +++ b/matrix.c @@ -6,22 +6,28 @@ Matrix createMatrix(unsigned int rows, unsigned int cols) { - + Matrix matrix = { rows , cols }; + + matrix.matrixptr = malloc((sizeof(MatrixType)*rows*cols)); + + return matrix; } void clearMatrix(Matrix *matrix) { - + free(*matrix); } void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - + *(matrix.matrixptr+(rowIdx*colIdx)) = value; } MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - + MatrixType value; + matrix[rowIdx][colIdx] = value; + return value; } Matrix add(const Matrix matrix1, const Matrix matrix2) diff --git a/matrix.h b/matrix.h index cc640d1..41ae1dd 100644 --- a/matrix.h +++ b/matrix.h @@ -5,6 +5,11 @@ typedef float MatrixType; +typedef struct{ + unsigned int rows; + unsigned int cols; + int *martix_ptr; +}Matrix; // TODO Matrixtyp definieren