私はランダムな生成値で行列乗算を行うためにクリア関数を使用しようとしています。したがって、行列を生成するために関数(mat_def
)を使用し、行列をパラメータとして送信するときに行列を掛ける関数(mat_mul
)を使用したいと考えています。行列 - パラメータとして返すと渡します。C++
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
double mat_def(int n) //how to return the matrix
{
double a[n][n];
double f;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
f= rand();
cout<<f ;
a[i][j]=f;
}
}
return 0;
}
double mat_mul(int n, double a[n][n], double b[n][n]) //how to send matrix as parameter
{
return 0;
}
int main()
{
/* initialize random seed: */
srand (time(NULL));
mat_def(10);
}
あなたの質問は何ですか? 2つの行列などを掛ける方法を知りたいですか? –
C++でMatrixクラスを実装する方法はたくさんあります。古典的には、 ':: operator []'をオーバーロードし、 ':: operator []'をオーバーロードする内部クラスへの参照を返すので、実際のMatrix構文を持つことができます。 – jiveturkey
質問:コンパイル時に既知の行列のサイズは分かりますか? 行列は正方行列のみであると予想されますか? –