行列とベクトルを掛ける必要があります。行列とベクトルを掛ける
float** M
の寸法maxtrix:M×N個Iパラメータと機能を書いていることを達成するために
。
float* V
長さnのベクトルです。
float* R
ここでは、長さmのベクトルが既に割り当てられています。
int m, int n
長さです。
void m_mult_v(float** M, float* V, float* R, int m, int n) {
int i,j;
for (i=0;i<m;i++){
for (j=0;j<n;j++) {
R[i]+=(M[i][j]*V[j]);
}
}
}
問題は、私が得た結果は正しいものではないということです。
int i,j;
for (i=0;i<m;i++){
for (j=0;j<n;j++){
R[i]+=(M[i][j]*V[j]);
}
}
完全な機能コード:
は、ここに私のコードです。 :-/ 何か案が ?
今後のお返事ありがとうございます。
EDIT
ソリューションは、あなたのヒントに感謝を発見しました!
この部分を追加して、Rをすべてゼロに設定しました。
for (i=0;i<m;i++){
R[i] = 0;
}
完全なコードを示してください。サンプル入力、期待される出力、実際の出力も提供してください。これまで行ってきたデバッグについて教えてください... –
@MarekSebera私は最初から正しいタグを付け加えましたが、なぜ私の質問がダウングレードされたのか分かりません... – TheTime
私はあなたが提供していないためダウンしましたあなたの*完全な*コードは、どの入力が失敗したか、どのように失敗したか、またあなたがデバッグしたものをデバッグして教えてもらえませんでした。 –