・2つの、乱数正方行列データファイルを配列に読み込み、その配列を行列として和と積を求め、
ファイル出力するプログラムを作成せよ。なお、行列データファイルの作成はプログラムを用
いること。サイズは固定値を使わないこと。
C言語
OS:学校の演習室はLinuxですが家で確認するのでWindows vista
コンパイラ:Visual C++2005 Express Edition
以下のような2つのファイルに乱数正方行列データに見えるようなものを格納するプログラムを
作りました。行列計算の確認用に、乱数は0~10の範囲にしてあります。
/*乱数行列ファイルrep2-1.txt,rep2-2.txt作成プログラム*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>//初期化用
main(){
int rnd,i,j,n;
FILE *data;
FILE *data2;
data=fopen("rep2-1.txt","w");
data2=fopen("rep2-2.txt","w");
if(data==NULL){
printf("error!\n");
return;//異常終了
}
if(data2==NULL){
printf("error!\n");
return;
}
printf("Please one nutural number--->>");
scanf("%d\n",&n);
srand((unsigned)time(NULL));//rand初期化
for(j=0;j<n;j++){
for(i=0;i<n;i++){
rnd=rand()%10+1;
fprintf(data,"a[%d]=%d ",i,rnd);
}
fprintf(data,"\n");
}
for(j=0;j<n;j++){
for(i=0;i<n;i++){
rnd=rand()%10+1;
fprintf(data2,"a[%d]=%d ",i,rnd);
}
fprintf(data2,"\n");
}
fclose(data);
fclose(data2);
return 0;
}
で、もうひとつのプログラムでファイルのデータを読み込みたいのですが…
●fgetcとfgetsどちらを使うべきでしょうか?(他に使えるものがあればお願いします)
↑
fgetsだと最大値が必要なのでそこでもつまづいてます。ファイルのデータが可変なので最大値の
取り方が分かりません。
●読み込んだデータの配列への組み込み方がわかりません。またそのデータを「利用して」計算
するためにどうすればいいのかが分かりません。
ちょっとわからないことが多すぎますね……。どれかひとつでも解決すれば解けそうな気も
するのですが…。よろしくお願いします