funktionen mit Testdatei korrigiert

This commit is contained in:
Ben Skuppin 2025-11-13 21:49:12 +01:00
parent da8738e4b5
commit 7513db75b9
2 changed files with 20 additions and 7 deletions

View File

@ -6,36 +6,49 @@
Matrix createMatrix(unsigned int rows, unsigned int cols) Matrix createMatrix(unsigned int rows, unsigned int cols)
{ {
if(rows <= 0 || cols <= 0){
Matrix matrix = { 0 , 0 , UNDEFINED_MATRIX_VALUE };
return matrix;
}
Matrix matrix = { rows , cols }; Matrix matrix = { rows , cols };
matrix.matrixptr = malloc((sizeof(MatrixType)*rows*cols)); matrix.buffer = malloc((sizeof(MatrixType)*rows*cols));
return matrix; return matrix;
} }
void clearMatrix(Matrix *matrix) void clearMatrix(Matrix *matrix)
{ {
free(*matrix); free(matrix->buffer);
matrix->buffer = NULL;
matrix->rows = 0;
matrix->cols = 0;
} }
void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx)
{ {
*(matrix.matrixptr+(rowIdx*colIdx)) = value; *(matrix.buffer + (rowIdx * matrix.cols + colIdx)) = value;
} }
MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx)
{ {
if(matrix.rows <= rowIdx || matrix.cols <= colIdx)
return UNDEFINED_MATRIX_VALUE;
MatrixType value; MatrixType value;
matrix[rowIdx][colIdx] = value; value = *(matrix.buffer + (rowIdx * matrix.cols + colIdx));
return value; return value;
} }
Matrix add(const Matrix matrix1, const Matrix matrix2) Matrix add(const Matrix matrix1, const Matrix matrix2)
{ {
return matrix1;
} }
Matrix multiply(const Matrix matrix1, const Matrix matrix2) Matrix multiply(const Matrix matrix1, const Matrix matrix2)
{ {
return matrix1;
} }

View File

@ -8,7 +8,7 @@ typedef float MatrixType;
typedef struct{ typedef struct{
unsigned int rows; unsigned int rows;
unsigned int cols; unsigned int cols;
int *martix_ptr; MatrixType *buffer;
}Matrix; }Matrix;
// TODO Matrixtyp definieren // TODO Matrixtyp definieren