From 13900179a11a67e7701ced253f9d4cfa8b5c08f1 Mon Sep 17 00:00:00 2001 From: niklaskegelmann Date: Sat, 15 Nov 2025 15:04:53 +0100 Subject: [PATCH] kurzer zwischenspeicher --- matrix.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/matrix.c b/matrix.c index 28622cc..54583de 100644 --- a/matrix.c +++ b/matrix.c @@ -98,17 +98,27 @@ Matrix multiply(const Matrix matrix1, const Matrix matrix2) else { - Matrix result; - result.rows = matrix1.rows; - result.cols = matrix2.cols; - //mit get matrix den 4 werte aus matrix1/2.buffer rausnehmen und verrechnen - //mit set matrix in result.buffer reinladen + Matrix result = createMatrix(matrix1.rows, matrix2.cols); - //1. for: buffer um stelle weiter - //2. for: 1. reihe von matrix1 geht von x10-x12 und x13-x15 das wird 2 mal gemacht - //3. for: 2. reihe von matrix1 geht von x20-x23; x24-x27; x28-x211 das wird 2 mal gemacht + for (unsigned int i = 0; i < result.rows; i++) + { + for (unsigned int j = 0; j < result.cols; j++) + { + + MatrixType summe = 0; + + for (unsigned int k = 0; k < matrix1.cols; k++) + { + summe += getMatrixAt(matrix1, i, k) * getMatrixAt(matrix2, k, j); + } + + setMatrixAt(summe, result, i, j); + } + } + + return result; } } \ No newline at end of file