転置行列と行列の和
初めまして。
大学の授業でプログラミングのC言語を勉強しています。
4月からプログラミングを始めたばかりで、まったくの初心者です。
転置行列が作れなくて困っているのですが、
.datのファイルから転置させるのが上手くできません。
《kadai1.datの3行4列の行列Aと、kadai2.datの4行3列行列Bがある。
行列A、行列B、行列Aの転置行列を出力し、
行列Aの転置行列と行列Bの和を出力するプログラムを作る。
kadai1.datとkadai2.datは自分で作る。》
で、途中まで作ったのが以下です。
#include <stdio.h>
#include <stdlib.h>
#define ROW 3
#define COLUMN 4
int main(void)
{
FILE *fp;
double a[ROW][COLUMN], b[ROW][COLUMN];
int i, j;
if ( ( fp = fopen( "kadai1.dat", "r" ) ) == NULL )
{
printf("ファイルが見つかりません : kadai1.dat \n");
exit(1);
}
printf("行列Aは次の通りです\n");
for ( i = 0 ; j < COLUMN ; j++)
{
scanf (fp, "%lf", &a[i][j]);
printf ("%5.2f\t", a[i][j]);
}
printf("\n");
}
if ( ( fp = fopen( "kadai2.dat", "r" ) ) == NULL )
{
printf("ファイルが見つかりません : kadai2.dat \n");
exit(1);
}
printf("行列Bは次の通りです\n");
for ( i = 0 ; j < COLUMN ; j++)
{
scanf (fp, "%lf", &a[i][j]);
printf ("%5.2f\t", a[i][j]);
}
printf("\n");
}
return 0;
}
\の半角が出なかったので¥になってます。
(ごめんなさい!!)
上のプログラムで、行列Aと行列Bが出力できたのですが、転置と和のプログラムが出来ていません。
kadai1.datが、
1 2 3 4
5 6 7 8
9 10 11 12
kadai2.datが、
13 14 15
16 17 18
19 20 21
22 23 24
にしてみました。a1 a2 … c3 c4、でやってる人もいるみたいですが具体的な数字で作ろうと思っています。
お手数おかけしますが具体的にお答えいただければ幸いです。
どうぞよろしくお願いいたします。