2013-08-16 144 views
-5

我不是程序員,但我學習C#建立一個外匯交易系統和陣列正在鬥爭......從一個陣列獲取的平均值另一個數組

這個問題我有如下...

我有一個一維數組,其中有100個元素。

現在我需要基於第一個數組構建另一個具有10個元素滾動平均值的一維數組。以另一種方式說,我需要從第一個數組開始,從i = 0到i = 9的元素,並將它們平均並將平均值保存到新數組中。比向前移動一步,從原始數組中取出i = 1直到i = 10,並將它們平均並將結果保存在新的Array ...中,等等......在Excel中,這將非常容易。

我需要在數組中有數據是因爲以後我需要比較最後10個滾動平均值和歷史數據......。

請問任何人都可以構建一個我可以使用的示例代碼?

非常感謝 聖保羅

+1

所以我們你已經試過的代碼。 –

+1

在嘗試構建外匯交易系統之前,您可能需要進行更多的學習。 – Blorgbeard

+0

歡迎來到StackOverflow。我們不是真正的網站,「這是我想要做的,請爲我寫代碼。」類型問題;我們不是代碼教程網站或代碼編寫服務。我們通常會要求您嘗試自己嘗試解決問題,然後您可以提出與該代碼相關的具體問題。有許多C#教程網站通過Google和Bing提供,可以向您展示示例代碼以及與數組一起使用的練習。一旦你經歷過他們並編寫了一些自己的代碼並遇到問題,我們會很樂意嘗試和幫助。祝你好運。 :-) –

回答

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 
+0

感謝埃文的建議。通過創建2個獨立的指標找到解決方法,最後的數組填充第一個指標的數據。親切的問候 – Paulo

相關問題