#include
#include
#include
using 命名空间 std;
typedef struct matrix
{
int 行;
int 列;
int** 数据;
}矩阵;
struct 矩阵 creer_matrice(int row, int column){
struct matrix m;
m.row = row;
m.column = 列;
m.data = (int**)malloc(m.line*sizeof(int *));
for(int i = 0; i< m.row; ++i){
// 使用 calloc
将框初始化为 0 m.data[i] = (int *)calloc(m.column,sizeof(int));
}
return m;
}
void afficher_matrice(matrix M){
for(int i = 0; i for(int j = 0; j 成本 < 成本 <<\t”;
}
//换行符
成本<<\n”;
}
成本<<\n”;
}
struct product matrix(matrix A, matrix B)
{
matrix C = creer_matrice(A.row, B.column);
for(int I = 0;我 for(int J = 0;J {
C.data[I][J] = 0;
for(int K = 0;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 for(int j=0; j //生成 0 到 20 之间的随机数并减去 10
//得到负数
//例如:如果 rand 生成 74,则 74-100 = -36
A.data[i][j] =rand()%20-10;
afficher_matrice(A);
/*
第二个矩阵
*/
矩阵 B = creer_matrice(3.5);
srand(time(NULL));
for(int i=0; i for(int j=0; j //生成0到20之间的随机数,减去10
//得到负数
//例如:如果兰德生成74,则74-100 = -36
B.data[i][j] =rand()%20-10;
afficher_matrice(B);
//product
//矩阵 C = product(A,B);
//afficher_matrice(C);
afficher_matrice(power(A));
system(暂停”);
}