C言語関係掲示板

過去ログ

No.520.二次元配列での行列の計算

[戻る] [ホームページ]
No.4074

二次元配列
投稿者---リーモト(2002/12/26 16:32:27)


初めて投稿します。よろしくお願いしますm(_ _)m
学校で課題が出たのですが、二次元配列での行列の計算の仕方がわかりません。
i,j,kを使い、forループでっていうのはわかるのですが・・・・。
二次元配列で(2行3列)*(3行2列)なんです。


No.4075

Re:二次元配列
投稿者---silver fox(2002/12/26 16:53:42)


>学校で課題が出たのですが、二次元配列での行列の計算の仕方がわかりません。
>i,j,kを使い、forループでっていうのはわかるのですが・・・・。

じゃあ、せっかくここに来たのですからこちらを一度目を通してみましょうか。
それでさらに分からないことを質問し直して見るというのはいかが?


No.4076

Re:二次元配列
投稿者---リーモト(2002/12/26 17:02:52)


>>学校で課題が出たのですが、二次元配列での行列の計算の仕方がわかりません。
>>i,j,kを使い、forループでっていうのはわかるのですが・・・・。
>
>じゃあ、せっかくここに来たのですからこちらを一度目を通してみましょうか。
>それでさらに分からないことを質問し直して見るというのはいかが?

#include<stdio.h>

void main(void){
	int x[3][2]={{1,4},{2,5},{3,6}};
	int y[2][3]={{10,30,50},{20,40,60}};
	int  z[3][3];
	int  i,j,k;
宣言はこれであっていると思うのですが・・・・。
for文をどう使っていいかわかりません。。。。
	for(i=0;i<3;i++){
		for(j=0;j<3:j++){
			for(k=0;k<3;k++){
i,j,kをどのように使えばいいのでしょうか??



No.4083

Re:二次元配列
投稿者---たか(2002/12/27 13:46:56)


#include<stdio.h>

int main(void)
{
  int x[3][2] = {{1, 4}, {2, 5}, {3, 6}};
  int y[2][3] = {{10, 30, 50}, {20, 40, 60}};
  int z[3][3];
  int i, j, k;
  
  for (i = 0; i < 4; i++)
    for (k = 0; k < 4; k++) {
      z[i][k] = 0;
      for (j = 0; j < 3; j++)
        z[i][k] += x[i][j] * y[j][k];
    }
  
  for (i = 0; i < 4; i++) {
    for (j = 0; j < 4; j++)
      printf("%8d ", z[i][j]);
    printf("\n");
  }

  return 0;
}


No.4084

Re:二次元配列
投稿者---リーモト(2002/12/27 14:56:15)


ありがとうございました!!!!