こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C++で行列とベクトルの積を求める

行列とベクトルの掛け算
y=Ax (A(3*3行列以上)とxを適当に初期化) を作成せよ
これが分からないんですが誰か分かる人いませんか?下は行列の和と積をそれぞれ求めてるんですが、こんな感じになりそうなんですよね

#include<iostream>
using namespace std;

int main() {
double A[3][3]={{1,1,6},{5,3,2},{2,2,2}};
double B[3][3]={{4,1,3},{2,4,3},{5,9,2}};
double temp;
int i,j,k;

for(i=0;i<3;i++){
for(k=0;k<3;k++){
}
}

for(i=0;i<3;i++){
for(k=0;k<3;k++){
}
}

cout<<"和:A+B="<< '\n';
for(i=0;i<3;i++){
cout<<" { ";
for(j=0;j<3;j++){
cout<< (A[i][j]+B[i][j]);
if(j!=2)
cout<<" , ";
}
cout<< " }" << '\n';
}
cout<< '\n';

cout<<"積:A*B="<< '\n';
for(i=0;i<3;i++){
cout<<" { ";
for(j=0;j<3;j++){
temp=0.0;
for(k=0;k<3;k++)
temp += A[i][k]*B[k][j];
cout<< temp;
if(j!=2)
cout<< " , ";
}
cout<< " }" << '\n';
}

return 0;
}

投稿日時 - 2009-11-24 00:41:57

QNo.5471325

すぐに回答ほしいです

質問者が選んだベストアンサー

A*Bができているのであれば、Bを3x1行列とした場合を作ればいいのでは?
そのあとで、3の部分をn等にして一般化すれば良いのです。

投稿日時 - 2009-11-24 01:14:21

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)