From f3398f9ea07c399165ea900c332f10a7d6f4bb75 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 6 May 2026 05:44:01 +0200 Subject: [PATCH] Add Matrix struct definition and implement createMatrix function --- matrix.c | 20 ++++++++++++++++++-- matrix.h | 5 +++++ runMatrixTests | Bin 0 -> 63792 bytes 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100755 runMatrixTests diff --git a/matrix.c b/matrix.c index ad00628..666e640 100644 --- a/matrix.c +++ b/matrix.c @@ -5,12 +5,28 @@ // TODO Matrix-Funktionen implementieren Matrix createMatrix(unsigned int rows, unsigned int cols) -{ +{ + if (rows ==0 || cols ==0){ // check if dimensions are valid + Matrix empty = {.rows =0, .cols=0, .buffer =NULL}; //return empty matrix if invalid + return empty; + } + MatrixType *buffer = malloc(rows * cols* sizeof(MatrixType)); //allocate memory + if (buffer == NULL){ //check if memory allocation succeeded + Matrix empty = {.rows =0, .cols=0, .buffer =NULL}; //return empty matrix if out of memory + return empty; + } + Matrix result ={.rows = rows, .cols = cols, .buffer = buffer}; // create and return matrix + return result; + + } void clearMatrix(Matrix *matrix) -{ +{ free(matrix-> buffer); // free the buffer memory + matrix -> buffer = NULL; // set all members to NUll + matrix -> rows =0; + matrix -> cols =0; } diff --git a/matrix.h b/matrix.h index cc640d1..060774a 100644 --- a/matrix.h +++ b/matrix.h @@ -6,6 +6,11 @@ typedef float MatrixType; // TODO Matrixtyp definieren +typedef struct{ + unsigned int rows; + unsigned int cols; + MatrixType *buffer; //pointer to dynamically allocate array +} Matrix; Matrix createMatrix(unsigned int rows, unsigned int cols); diff --git a/runMatrixTests b/runMatrixTests new file mode 100755 index 0000000000000000000000000000000000000000..9fcd4401be0e80619c3818f7646fa0eb860880db GIT binary patch literal 63792 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 literal 0 HcmV?d00001