-1

私は、配列内の一連の数値の平均と分散を出力する任務を負っています。これにより、私が行った avg への参照を作成する必要がありました。しかし、平均が何であるかを印刷する方法がわかりません。プログラムを実行すると、現在 0 が出力されます。これは私のコードです:

    static double varianceValue(ref double avg, params double[] intValues)
    {
        double sum = 0;
        double f = 0;
        double number = 0;
        double sv = 0;
        double variance= 0;

        foreach (int value in intValues)
        {
            sum += value;
        }

        for (int i = 0; i < intValues.Length; i++)
        {
            number = intValues[i];
            avg = sum / intValues.Length;
            f = number - avg;
            sv += Math.Pow(f, 2);

        }
        variance = sv / (intValues.Length - 1);
        return variance;

    }
    static void Main(string[] args)
    {
        double avg = 0;
        Console.WriteLine("The avg of the variables in the array are: {0}", varianceValue(ref avg));
        Console.WriteLine("\nThe variance of 11, 13, 17, 19, 23 is: {0}", varianceValue(ref avg, 11.0, 13.0, 17.0, 19.0, 23.0));
        Console.ReadKey();
    }
4

1 に答える 1

1

呼び出すときに配列が空であるため、この時点でゼロを出力しています

 Console.WriteLine("The avg of the variables in the array are: {0}", varianceValue(ref avg));

まず、配列パラメーターを使用して分散関数を呼び出します (これにより、平均も設定されます)。次に、 avg を単独で呼び出します。

static void Main(string[] args)
{
    double avg = 0;
    Console.WriteLine("\nThe variance of 11, 13, 17, 19, 23 is: {0}", varianceValue(ref avg, 11.0, 13.0, 17.0, 19.0, 23.0));
   Console.WriteLine("The avg of the variables in the array are: {0}", avg);
    Console.ReadKey();
}
于 2013-03-21T00:07:44.913 に答える