• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c言語でデータの指定列の度数分布をつくろうとしています。)

C言語でデータの指定列の度数分布を作る方法

このQ&Aのポイント
  • C言語でデータの指定列の度数分布を作る方法について解説します。
  • 指定列のデータに対してプログラムを組んで、度数分布を作成することができます。
  • 複数列のデータに対しても同様の方法で度数分布を作成することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

やることは一緒ですよ ただ fgetsで一行取得した中から 6列目をどう見つけるかだけだと思います データの区切りが『,』であるなら char* FindData( char* str, int n ) {   char *ptr = NULL;   if ( n > 0 ) {     if ( NULL != (ptr = strcchr( str, ',' )) ) {       --n;       ptr++; // 最初の『,』をスキップ       while( n-- ) {         ptr = strchr( ptr, ',' );         if ( ptr == NULL )           break;         ptr++; // 見つけた『,』をスキップ       }     }   } else if ( n == 0 ) {     ptr = str;   }   return ptr; } といった関数を用意して while((fgets(str, 256, fp)) != NULL){   // 1列目が0としているので 6列目なら5を引数にします   char *p = FindData( str, 5 );   if ( p != NULL ) {     double dbl = atof(str);     if(!(dbl < LOWERBOUND || dbl > UPPERBOUND)){       int n = (dbl-LOWERBOUND)/RANGE;       table[n]++;     }   } } といった具合でしょう

dejaboo
質問者

お礼

ご丁寧に教えていただきありがとうございます。

関連するQ&A

専門家に質問してみよう