From 147fd28bda6d425efdeecb6e92abfb124425856c Mon Sep 17 00:00:00 2001 From: Laila Date: Sun, 9 Nov 2025 23:27:21 +0100 Subject: [PATCH] setMatrixAt --- info2praktikum-neuronalesnetz/matrix.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/info2praktikum-neuronalesnetz/matrix.c b/info2praktikum-neuronalesnetz/matrix.c index af5a474..16688c5 100644 --- a/info2praktikum-neuronalesnetz/matrix.c +++ b/info2praktikum-neuronalesnetz/matrix.c @@ -27,14 +27,17 @@ void clearMatrix(Matrix *matrix) } -void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) +void setMatrixAt(MatrixType value, Matrix* matrix, unsigned int rowIdx, unsigned int colIdx) { - + if(rowIdx >= matrix->rows || colIdx >= matrix->cols){ + return; + } + matrix->data[rowIdx * matrix->cols + colIdx] = value; } MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - if(rowIdx > matrix.rows || colIdx > matrix.cols){ + if(rowIdx >= matrix.rows || colIdx >= matrix.cols){ return 0; } MatrixType value; @@ -62,7 +65,7 @@ Matrix multiply(const Matrix matrix1, const Matrix matrix2) for(size_t k = 0; k < matrix1.cols; k++){ sum += getMatrixAt(matrix1, i, k) * getMatrixAt(matrix2, k, j); } - setMatrixAt(sum, matrix3, i, j); + setMatrixAt(sum, &matrix3, i, j); } }