#include
#include
#include
using namespace std;
typedef struct matrix
{
int line;
int カラム;
int** データ;
}マトリックス;
struct matrix creer_matrice(int row, int column){
struct matrix m;
m.row = row;
m.column = 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 積行列(行列 A, 行列 B)
{
行列 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);
/*
2番目の行列
*/
行列 B = creer_matrice(3.5);
srand(time(NULL));
for(int i=0; i for(int j=0; j //0 から 20 までの乱数を生成し、10 を減算します
//負の数を取得します
//例: rand が 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("pause");
}