Matrixrechnung in C++ - Multiplikation zweier Matrizen

Produktmultiplikation zweier Matrix in C++


#include< stdio.h> 
#include< stdlib.h>
#include < iostream>
using namespace std;
typedef struct matrix
{
int Zeile;
int-Spalte;
int** Daten;
}-Matrix;
struct matrix creer_matrice(int Zeile, int Spalte){
struct matrix m;
m.row = Zeile;
m.column = Spalte;
m.data = (int**)malloc(m.line*sizeof(int *));
for(int i = 0; i< m.row; ++i){
// initialisieren Sie die Boxen auf 0 mit calloc
m.data[i] = (int *)calloc(m.column,sizeof(int));
}
return m;
}

void afficher_matrice(matrix M){
for(int i = 0; i < M.line; i++) {
for(int j = 0; j < M.colonne; j++) {
Kosten < < M.data[i][j] ;
Kosten < < "\t";
}
//line break
kosten < < "\n";
}
Kosten < < "\n";
}

struct Produktmatrix(Matrix A, Matrix B)
{
Matrix C = creer_matrice(A.Zeile, B.Spalte);
for(int I = 0; Ich < A.line; I++)
for(int J = 0; J < B. Spalte; J++)
{
C.data[I][J] = 0;
for(int K = 0; K < A.Spalte; K++)
{
C.data[I][J] += A.data[I][K] * B.data[K][J];
}
}
return C;
}

int main(int argc, char *argv[])
{
/*
matrix A
*/
matrix A = creer_matrice(4,3);
srand(time(NULL));
for(int i=0; i< A.line; i++)
for(int j=0; j< A.Spalte; j++)
//Generieren Sie Zufallszahlen zwischen 0 und 20 und subtrahieren Sie 10
//um negative Zahlen zu erhalten
//z.B.: Wenn rand 74 erzeugt, dann 74-100 = -36
A.data[i][j] =rand()%20-10;
afficher_matrice(A);

/*
2. Matrix
*/
Matrix B = creer_matrice(3.5);
srand(time(NULL));
for(int i=0; i< B.line; i++)
for(int j=0; j< B. Spalte; j++)
//Erzeugen Sie Zufallszahlen zwischen 0 und 20 und subtrahieren Sie 10
//, um negative Zahlen zu erhalten
//z.B.: Wenn rand 74 erzeugt, dann 74-100 = -36
B.data[i][j] =rand()%20-10;
afficher_matrice(B);

//product
//matrix C = product(A,B);
//afficher_matrice(C);
afficher_matrice(Leistung(A));
system("Pause");
}