-5

私はプログラマーではありませんが、外国為替取引システムを構築するために C# を学んでおり、配列は苦労しています…</p>

私が抱えている問題は次のとおりです…</p>

たとえば、100 個の要素を含む 1 次元の配列があります。

ここで、最初の配列に基づいて 10 要素のローリング平均を使用して、別の 1 次元配列を作成する必要があります。

別の言い方をすれば、i = 0 から i = 9 までの最初の配列から要素を取得し、それらを平均して、平均を新しい配列に保存する必要があります。一歩前に進んで、元の配列から i = 1 から i = 10 までを取得し、それらを平均して、結果を新しい配列に保存する....など....Excel では、これは非常に簡単です....

配列にデータを保持する必要があるのは、後で最後の 10 要素のローリング平均を履歴データと比較する必要があるためです….

私が使用できるサンプル コードを作成できる人はいますか?

どうもありがとうパウロ

4

1 に答える 1

0

たぶん、このようなものがうまくいくかもしれません...私のMacで崇高なテキストでこれを行ったので、まだ作業する必要があります。しかし、ポイントを取得する必要があります。

 public class Foo 
 {
    List<int> main = new List<int>(100);
    List<int> rollingAverages = new List<int>(100);

    public void Add(int score)
    {
        main.Add(score);
        if(main.Count > 10)
        {
            int rollingAverage = AverageLast10();
            rollingAverages.Add(rollingAverage);
        }
    }

    public int AverageLast10()
    {
        int sum = 0;
        for(int i = main.Count - 10; i < 10; i++)
        {
            sum += main[i];
        }
        return sum / 10;
    }
 }   


Somewhere else in the code

Foo foo = new Foo();
foo.Add(94);
foo.Add(94);
...
 yadda yadda yadda
于 2013-08-16T01:35:00.227 に答える