-1

誰かがコーディングを手伝ってくれませんか。このグループ化の最終的な割合を調べたい

100% of 4
0% of 1
100% of 12
100% of 2

したがって、答えは次のようになります

95% of 19

またはそのようなもの。

これは可能ですか?

ありがとう

4

2 に答える 2

6

一般に、「加重平均」を計算する式は次のx% of yようになります。

sum(x/100 * y) / sum(y)

あなたの例は

(1.0 * 4) + (0.0 * 1) + (1.0 * 12) + (1.0 * 2) / (4 + 1 + 12 + 2)

= 18 / 19 = ~94.7%
于 2012-10-12T15:22:07.453 に答える
4

パーセンテージとそれらのパーセンテージに属するアイテムの数を保持する何らかの構造があると仮定すると、次のコードはあなたが求めていることを実行します:

struct Data
{
    double Percent;
    int Count;
}

...

List<Data> items = new List<Data> ();
... // fill your list with Data instances, initialized with values

double total = 0; // running total
int totalcount = 0; // total number of items

for ( int i = 0; i < items.Count; i++ )
{
    totalcount += items[i].Count;
    total += ( items[i].Count * items[i].Percent );
}

double result = total / totalcount;
于 2012-10-12T15:21:50.210 に答える