From 9eba090e45d4765bb025fb7c7a8e5ced52f74cf4 Mon Sep 17 00:00:00 2001 From: Niko Rost Date: Fri, 14 Nov 2025 16:43:17 +0100 Subject: [PATCH] Finished Set and Get Functions --- matrix.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/matrix.c b/matrix.c index 798ac2c..a60e891 100644 --- a/matrix.c +++ b/matrix.c @@ -23,15 +23,26 @@ void clearMatrix(Matrix *matrix) void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - matrix = {rowIdx, colIdx, value}; //Writes Value of value variable in the selected place in Matrix - printf("Test: Value at %d, %d : %d\n", rowIdx, colIdx, matrix.buffer[rowIdx][colIdx]); + if (rowIdx >= matrix.rows || colIdx >= matrix.cols){ + printf("Index out of bounds\n"); //Error Message because Index Input exceeds Matrix +} + else{ + matrix.buffer[rowIdx * matrix.cols + colIdx] = value; //Writes Value of value variable in the selected place in Matrix +} } MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - value = matrix.buffer[rowIdx][colIdx]; //Stores value of selected place in Matrix in value variable - return value; + if (rowIdx >= matrix.rows || colIdx >= matrix.cols){ + printf("Index out of bounds\n"); + return 0; + } + else{ + + MatrixType value = matrix.buffer[rowIdx * matrix.cols + colIdx]; //Stores value of selected place of Matrix in value variable + return value; } + } Matrix add(const Matrix matrix1, const Matrix matrix2) {