Info2P5/TestMatricOp.c
2025-05-30 08:27:43 +02:00

51 lines
1.1 KiB
C

#include <stdio.h>
#include "matrixOp.h"
int main() {
// Erstellt zwei 2x3-Matrizen mit aufsteigenden Werten
Matrix *a = CreateMatrix(2, 3, 1.0); // 1.0, 2.0, 3.0, 4.0, 5.0, 6.0
Matrix *b = CreateMatrix(2, 3, 7.0); // 7.0, 8.0, 9.0, 10.0, 11.0, 12.0
Matrix *c, *d, *e, *f;
printf("Matrix a:\n");
PrintMatrix(a);
printf("Matrix b:\n");
PrintMatrix(b);
// Addition: a + b
c = AddMatrix(a, b);
printf("a + b:\n");
PrintMatrix(c);
// Subtraktion: a - b
d = SubMatrix(a, b);
printf("a - b:\n");
PrintMatrix(d);
// Transponieren von a
e = TransposeMatrix(a);
printf("Transpose of a:\n");
PrintMatrix(e);
// Matrixmultiplikation: a * a^T
f = MulMatrix(a, e);
printf("a * a^T:\n");
PrintMatrix(f);
// Determinante der Ergebnismatrix (nur für 2x2 möglich)
printf("det(a * a^T): %.2f\n", DetMatrix(f));
// Speicher wieder freigeben
FreeMatrix(a);
FreeMatrix(b);
FreeMatrix(c);
FreeMatrix(d);
FreeMatrix(e);
FreeMatrix(f);
return 0;
}
//gcc TestMatricOp.c -L. -lmatrixOp -o TestMatricOp