-4

配列の要素によって引き起こされる整数除算は 0 を返します。% を同じ配列に格納することになっています....

array[6][i]=array[5][i]/total;

これは0を格納します...配列が整数配列であることに関係があると思ったので、キャストを行いました...

array[6][i]=(int)(array[5][i]/total); 

まだ0が保存されています...浮動小数点に変換する必要があることを読みましたが、キャストが機能しません...これを試しました

array[6][i]=(int)((float)array[5][i]/(float)total); 

配列宣言

int arreglo[7][5]={{1,194,48,206,45},{2,180,20,320,16},{3,221,90,140,20},{4,432,50,821,14},{5,820,61,946,18},{0,0,0,0,0},{0,0,0,0,0}};

そして最後のものは各パーセンテージを保存します

4

2 に答える 2

3

パーセンテージが必要な場合、探しているのは次のようなものです

array[6][i] = (int) (100 * ((float)array[5][i] / (float)total));
于 2012-11-07T21:42:58.893 に答える
2

これは常に 0 を返します。

int を使用していて、合計で割ると、結果は <1 になり、0 に切り捨てられます (結果は整数でなければならないため)。

double(またはfloat)配列を使用するか、整数を100倍(合計ではない)にスケーリングする必要があります

于 2012-11-07T21:42:37.100 に答える