2017-07-13 21 views
0

配列(x)内の2つの隣接要素の平均を取得し、これらを新しい配列(m)に格納しようとしています。配列内の隣接する2つの要素の平均を取得する

Module Module1 

Sub Main() 
    Dim x = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0} 

    Dim m() As Double = New Double() {14} 

    For i = 0 To x.Length - 1 
     m(i) = (x(i) + x(i + 1))/2 
    Next 
    For Each d As Double In m 
     Console.WriteLine(d) 
    Next 
    Console.ReadLine() 

End Sub 

End Module 

は、私は、しかし、私は理由を理解することはできません、

インデックスが配列メートルアレイの

の境界の外にあるエラーが発生します。

答えて

2

インデックスは0から始まり、Length-1で終了します。ループの最後にあるインデックスi + 1は長さに等しいため、範囲外になります。例えば

ため薄暗いは、x = {1,2,3,4} インデックスあなたはまた、Mは長さが1つだけのアイテムであるという問題を有していて0から3

+0

正確には、次のようにします。For i = 0 To x.Length - 2 –

2

の範囲であろう。より多くの項目で配列を初期化する必要があります。

Dim m(14) As Double 

ブレークポイントとデバッグについて学ぶことを強くお勧めします。また、一度に非常に小さなコードを書いてテストしてください。プログラム全体を最初から書き込もうとしないでください。

関連する問題