次のコードは、入力された数値が特定の範囲内にあるかどうかを確認する方法の例です。
たとえば、数値を入力すると N と入力すると、次の範囲内にあるかどうかを示すインクリメント カウンターが必要になります。
1-10 11-20 ... 91-100
Here is the code snip from one of the text book:
#define MAXVAL 50
#define COUNTER 11
main ()
{
float value[MAXVAL];
int i, low, high;
static group[COUNTER] = {0,0,0,0,0,0,0,0,0,0,0}
*/READING AND COUNTING*/
for(i=0; i<MAXVAL; i++)
{
/* READING OF VALUES*/
scanf("%f", &value[i]);
/* COUNTING FREQUENCY OF GROUPS */
++group[ (int) (value[i]+0.5)/10] <<< I would like to understand how this will find if number is in specific ranges?
/* PRINTING OF FREQUENCY TABLE */
printf("\n");
printf(" GROUP RANGE FREQUENCY\N\N");
for(i=0; i< COUNTER; i++)
{
low = i*10;
if (i==10)
high =100;
else
high=low + 9;
printf( " %2d %3dto%3d %d)\n", i+1, low,high,group[i]);
}
}
これは上記の C プログラムで何をしますか: ++group[ (int) (value[i]+0.5)/10]
ありがとう