前提・実現したいこと
C言語で、csvファイルから2つの実数データを1次配列x,yに読込入力して、それぞれの最大値を表示するプログラムを作ろうとしています。Max1がxの最大値、Max2がyの最大値を格納する変数です。
発生している問題・エラーメッセージ
Max1=x[0]、Max2=y[0]でそれぞれの最大値を初期化して、while文で最大値を調べているのですが、printfで出力したMax1とMax2が初期値のx[0]とy[0]から変わりません。おそらく、ファイル読込ができていないのですが、どこが間違っているのかわかりません。
該当のソースコード
C
1#include<stdio.h> 2#include<stdlib.h> 3#define _USE_MATH_DEFINES 4#include<math.h> 5#define MaxN 100 6FILE* fp1; 7int main(void) 8{ 9 double x[MaxN] = { 0.0 }; 10 double y[MaxN] = { 0.0 }; 11 int i, N; 12 double Max1,Max2; 13 14 fopen_s(&fp1, "data3.csv", "r"); 15 16 17 i = 1; 18 Max1 = x[0]; 19 Max2 = y[0]; 20 21 while (fscanf_s(fp1, "%lf,%lf", &x[i], &y[i]) !=EOF) { 22 23 if (Max1 < x[i]) 24 Max1 = x[i]; 25 26 if (Max2 < y[i]) 27 Max2 = y[i]; 28 29 i++; 30 } 31 fclose(fp1); 32 printf("%lf %lf",Max1,Max2);
### 試したこと 初期値を0にしたりしましたが、Max1が0になるだけでした。 ### 補足情報(FW/ツールのバージョンなど) visual studio 2019 を使用しています。
回答2件
あなたの回答
tips
プレビュー