2016-01-11 46 views
0

我寫,其計算的相關係數的程序,但輸出始終爲0在c#求和的陣列的輸出結果總是零

我劃分的代碼知道的問題開始的地方,並且它變成出該數組

 using System; 
     using System.Collections.Generic; 
     using System.Linq; 
     using System.Text; 
     using System.Threading.Tasks; 

     namespace section 
     { 
      class Program 
      { 

       static void Main(string[] args) 
       { 

     Console.WriteLine("please enter the number of values:"); 
     int n = int.Parse(Console.ReadLine()); 
     Console.WriteLine("enter x values:"); 
     double[] xVal = new double[n]; 
     foreach (int val in xVal) 
     { 
      double input = double.Parse(Console.ReadLine()); 
     } 

     double sumX = 0; 

     for (int i = 0; i < xVal.Length; i++) 
     { 
      sumX += xVal[i]; 
     } 
      // int s = Math.Sqrt(((x[i] - sum/n) * (x[i] - sum/n))/(n - 1)); 

     Console.WriteLine(sumX); 

     Console.WriteLine("enter y values:"); 
     double[] yVal = new double[n]; 

     foreach (int val in yVal) 
     { 
      double input = double.Parse(Console.ReadLine()); 
     } 


     double sumY = 0; 

     for (int i = 0; i < yVal.Length; i++) 
     { 
      sumY += yVal[i]; 
     } 
     Console.WriteLine(sumY); 


     } 
    } 
} 

我試圖使用xVal.Sum()的總和,但結果卻是零 這是第一次發生在我身邊。我試圖重新寫多種形式的代碼,但一切都沒有改變 我不知道什麼是錯了,

回答

0

你總是會得到0,因爲你沒有更新XVAL或利用yval

double[] xVal = new double[n];

這將創建一個空雙打數組。

而且隨着導致0空雙打的陣列以下迭代:

 for (int i = 0; i < xVal.Length; i++) 
     { 
      sumX += xVal[i]; 
     } 

我建議,以取代用foreach:

 for (int i = 0; i < xVal.Length; i++) 
     { 
      double input = double.Parse(Console.ReadLine()); 
      xVal[i] = input; 
     } 

假設你想訪問他們之前修改數組值,這應該管用。

+0

非常感謝你:) –