none
多維陣列 RRS feed

  • 問題

  • 初學者的闕疑 程式碼如下所示:

    int[, ] grades = new int[4, 2];
                double[] sums = new double[4];
                double[] averages = new double[1];
                int i, j;
    grades[0, 0] = Convert.ToInt32(txtMath00.Text);            
                grades[0, 1] = Convert.ToInt32(txtEng01.Text);  
     grades[1, 0] = Convert.ToInt32(txtMath10.Text);            
                grades[1, 1] = Convert.ToInt32(txtEng11.Text);  
    grades[2, 0] = Convert.ToInt32(txtMath20.Text);            
                grades[2, 1] = Convert.ToInt32(txtEng21.Text); 
    grades[3, 0] = Convert.ToInt32(txtMath30.Text);            
                grades[3, 1] = Convert.ToInt32(txtEng31.Text);  
    // 二層巢狀迴圈來計算總和
                // 左索引指出元素位在哪一列
                for (i = 0; i <= 3; i++)                
                    // 右索引指出元素位在哪一欄
                    for (j = 0; j <= 1; j++)
    sums[i] += grades[i, j]; 
    // 顯示總分
                txtSum0.Text = sums[0].ToString();
                txtSum1.Text = sums[1].ToString();
                txtSum2.Text = sums[2].ToString();
                txtSum3.Text = sums[3].ToString(); 
    // 顯示平均

    闕疑點如下所示:

    如何用多維陣列將第一列第一行數值 * 0.6 與 第一列第二行 * 0.4 再進行加總 ?

    如何用多維陣列將第一列第一行第二列第一行第三列第一行第四列第一行與第一列第二行第二列第二行第三列第二行第四列第二行 個自進行平均計算 ?

    謝謝您的指導 

    2012年4月19日 上午 06:58

解答

  • 取用陣列元素的做法:

    陣列名稱[列編號, 行編號]

    就可以完成所有的運算了

    • 已提議為解答 ChenBruceModerator 2012年4月19日 上午 10:09
    • 已標示為解答 闕疑 2012年4月20日 上午 05:54
    2012年4月19日 上午 07:14
  • 您好,

    請問以下是您要的嗎?

    // 第一列第一行數值 * 0.6 與 第一列第二行 * 0.4
    double sum1 = grades[0, 0] * 0.6 + grades[0, 1] * 0.4;
    //將第一列第一行第二列第一行第三列第一行第四列第一行與第一列第二行第二列第二行第三列第二行第四列第二行 個自進行平均計算
    double avg1 = (grades[0, 0] + grades[1, 0] + grades[2, 0] + grades[3, 0]) / 4.0;
    double avg2 = (grades[0, 1] + grades[1,1] + grades[2,1] + grades[3, 1]) / 4.0;



    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已提議為解答 ChenBruceModerator 2012年4月19日 上午 10:09
    • 已標示為解答 闕疑 2012年4月20日 上午 05:54
    2012年4月19日 上午 07:29

所有回覆

  • 取用陣列元素的做法:

    陣列名稱[列編號, 行編號]

    就可以完成所有的運算了

    • 已提議為解答 ChenBruceModerator 2012年4月19日 上午 10:09
    • 已標示為解答 闕疑 2012年4月20日 上午 05:54
    2012年4月19日 上午 07:14
  • 您好,

    請問以下是您要的嗎?

    // 第一列第一行數值 * 0.6 與 第一列第二行 * 0.4
    double sum1 = grades[0, 0] * 0.6 + grades[0, 1] * 0.4;
    //將第一列第一行第二列第一行第三列第一行第四列第一行與第一列第二行第二列第二行第三列第二行第四列第二行 個自進行平均計算
    double avg1 = (grades[0, 0] + grades[1, 0] + grades[2, 0] + grades[3, 0]) / 4.0;
    double avg2 = (grades[0, 1] + grades[1,1] + grades[2,1] + grades[3, 1]) / 4.0;



    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已提議為解答 ChenBruceModerator 2012年4月19日 上午 10:09
    • 已標示為解答 闕疑 2012年4月20日 上午 05:54
    2012年4月19日 上午 07:29
  • 感謝您的協助 個人先試試看...

    2012年4月19日 上午 07:34