こんにちわ 行列の積をしています。
自分で
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float a[2][3]/*={{1,2,3},{4,5,6}}*/;
float b[3][4]/*={{1,2,3,4},{5,6,7,8},{9,10,11,12}}*/;
float c[2][4];
int i,j,k;
for(i=0; i<2;i++){
for(j=0; j<4;j++){
c[j]=0.0;
for(k=0;k<3;k++){
c[j]+=a[k]*b[k][j];
}
}
}
for(i=0;i<2;i++){
for(j=0;j<4;j++){
printf("%6.1f",c[j]);
}
printf("\n");
}
}
まで、できたのですが要素をrandを50~-50の間とするというので詰まっています。
rand()%50をどっかに埋めればいいと思うのですがアドバイス願います。
c言語 行列の積
Re:c言語 行列の積
今のコードでは、「どんな」aとbの積がcであるかがわかりません。
aとbに乱数を使うとなおさらです。
cの内容が「本当に」正しいかが検証できません。
それでもよいのですか?
aとbに乱数を使うとなおさらです。
cの内容が「本当に」正しいかが検証できません。
それでもよいのですか?
Re:c言語 行列の積
>行列の出力がないとよくないですね。
>a、bを出力した上で、計算するようにお願いします。
そこは、えんさんがプログラムされたほうが良いと思います。
あくまでも、この掲示板のスタンスはお手伝いするといった方向ですので。Cの要素を表示できているのならa,bも難しくありませんよね?
本来の質問自体の疑問として行列の値はfloatなんですが、rand()%50では整数しか扱えません。その精度でよろしいのですか?
>a、bを出力した上で、計算するようにお願いします。
そこは、えんさんがプログラムされたほうが良いと思います。
あくまでも、この掲示板のスタンスはお手伝いするといった方向ですので。Cの要素を表示できているのならa,bも難しくありませんよね?
本来の質問自体の疑問として行列の値はfloatなんですが、rand()%50では整数しか扱えません。その精度でよろしいのですか?