・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だと最大値が必要なのでそこでもつまづいてます。ファイルのデータが可変なので最大値の
取り方が分かりません。
●読み込んだデータの配列への組み込み方がわかりません。またそのデータを「利用して」計算
するためにどうすればいいのかが分かりません。
ちょっとわからないことが多すぎますね……。どれかひとつでも解決すれば解けそうな気も
するのですが…。よろしくお願いします