実現したいこと
CSVファイルを読み込んで最大値の項目名を表示したい。
例として現在の実行結果の pattern[0]>0.100000, を パターンA >0.100000, と表示したり、
最も高いパターンはpattern[3]で,0.900000です。を 最も高いパターンはパターンDで,0.900000です。
と表示できるようにしたいのですが、どうすればいいかわかりません。
発生している問題・エラーメッセージ
配列名を結果に表示してしまっている。
CSVファイルの中身
CSV
1パターンA,パターンB,パターンC,パターンD,パターンE,パターンF 20.1,0.3,0.4,0.9,0.2,0.5 3
該当のソースコード
C++
1ソースコード 2 3#pragma warning(disable: 4996) 4#include <stdio.h> 5#include <string.h> 6 7int main(void) 8{ 9 double pattern[6] = { 0 }; 10 double max_pattern = 0; 11 int number = 0; 12 char temp[1024]; 13 14 // CSVファイル(data.csv)を開く 15 FILE* fp = fopen("./data.csv", "r"); 16 if (!fp) { 17 printf("ファイルが開けません。\n"); 18 } 19 fgets(temp, 1024, fp); 20 fscanf_s(fp, "%lf,%lf,%lf,%lf,%lf,%lf", 21 &pattern[0], &pattern[1], &pattern[2], &pattern[3], &pattern[4], &pattern[5]); 22 23 for (int i = 0; i < 6; i++) { 24 if (pattern[i] > max_pattern) { 25 max_pattern = pattern[i]; 26 number = i; 27 } 28 else {} 29 printf("pattern[%d]>%f, ", i, pattern[i]); 30 } 31 printf("\n最も高いパターンはpattern[%d]で,%fです。\n", number, max_pattern); 32 fclose(fp); 33 34 return(0); 35}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。