2015-04-06 241 views
1

我剛開始使用二維數組,但似乎無法弄清楚如何獲得每列的平均值。我正在使用for循環讓用戶輸入數據(學生成績),然後使用for循環顯示用戶輸入的信息。但是在顯示信息之後,我想要顯示每列的平均值。我應該怎麼做才能得到每列的平均值?如何獲得二維數組中列的平均值

這是我至今

static void Main(string[] args) 
    { 
     double[,] grades = new double[2, 3]; 
     double result; 



     for (int i = 0; i < 2; i++) 
     { 

      for (int j = 0; j < 3; j++) 
      { 
       Console.Write("Enter Grade " + (j + 1) + " For Group" + (i + 1) + ": ==>> "); 


       if (double.TryParse(Console.ReadLine(), out result)) grades[i, j] = result; 
       else 
       { 
        Console.WriteLine("*** INVALID GRADE ENTERED. PLEASE REENTER."); 

       } 
      } 

     } 





     for (int row = 0; row < 1; row++) 
     { 
      Console.WriteLine(); 
      Console.Write(" Group " + (row + 1) + ":  "); 
      Console.WriteLine(" Group " + (row + 2) + ": "); 
      Console.Write("===========  ==========="); 

      for (int col = 0; col < 3; col++) 
      { 
       //String.Format("{0,-10} | {1,-10} | {2,5}", 
       //make pring for execise 2 Console.Write(string.Format("{0,-5}", grades[row, col])); 
       Console.WriteLine(); 
       Console.Write(string.Format("{0,-9}", "")); 
       Console.Write(string.Format("{0,-20}",grades[0, col])); 
       Console.Write(grades[1,col]); 



      } 
      Console.WriteLine(); 
      Console.WriteLine("===========  ==========="); 


     } 



     Console.WriteLine("\n\npress any key to exit..."); 
     Console.ReadKey(); 
     //print it for exercise 1 myArr[o, column]; myArr[ , column] 
    }` 
+0

你爲什麼硬編碼這個值:'等級[0,山口]'和'等級[1,col]',不應該將0和1替換爲'row'? – npinti 2015-04-06 07:03:37

+0

錯誤的解決方案總共... – Shubhojit 2015-04-06 07:15:56

+0

等級[0,col]和等級[1,col]用於打印第一列和第二列值 – Clapper66 2015-04-06 07:21:48

回答

0

如果你正在尋找一個特殊的命令,它將爲你做它的代碼,你的運氣了!你只需編寫代碼來完成它,就像通常平均一系列數字的方式一樣。提示:二維數組的'y'維度中的元素數量由grades.GetLength(1)

0

要得到你需要遍歷列固定行並添加這樣它們的值平均每列:

int columnTotal, average; 
for (int row = 0; row < 2; row++) 
{ 
    columnTotal = 0; 
    for (int col = 0; col < 2; col++) 
    { 
     columnTotal += grades[row, col]; 
    } 

    average = columnTotal/2; 
    Console.WriteLine("Average: {0}", average); 
} 
+0

ok。現在我得到了我必須做的事情。那只是有用的東西是你有col排backworks, – Clapper66 2015-04-06 17:06:21

+0

這個計算每列的平均值。看起來你想計算每行的平均值。讓我更新這個。 – 2015-04-06 18:48:51