我對這個頁面不熟悉,對編程也很陌生。
讓我提出我的問題。 我有一個數組假設查找C中行元素之間的區別#
1 2 3
4 5 6
7 8 9
3 2 1
我想要做的是計算每一行的所有要素間的差異。
{Math.Abs(1-2)=1
Math.Abs (2-3)=1
Math.Abs (1-3)=2}
第一行。接下來,我想找到每行的平均值(在第一個(1 + 1 + 2)/ 3)中,並最終保持該行的最小平均值。
什麼是最有效的方法?(我認爲perphaps LINQ可以工作,但我不知道如何正確使用LINQ)。 任何幫助,將不勝感激。 謝謝大家提前!
編輯: 謝謝大家的答案...有真正有用的,並幫助我瞭解我應該如何處理我的問題。我發現大多數人都推薦使用List。所以這給我提出了另一個問題(記住一點編程知識)如何將一個int [,]數組轉換爲List,這是可能的?我應該先將int [,]轉換爲int [] [],然後再轉換爲List? 再次感謝您的回答和您的時間。
我創建了以下功能的二維數組轉換爲List..but看來它不工作properly..Any幫助,將真正的讚賞..
public static List<int[]> GetMyNumbers(int[,] result)
{
int[,] res = result;
int length = res.GetUpperBound(0) + 1;
int width = res.GetUpperBound(1) + 1;
int[] rows = new int[width];
List<int[]> numberArrays = new List<int[]>();
for (int i = 0; i < result.Length/width; i++)
{
for (int k = 0; k < width; k++)
{
rows[k] = res[i, k];
Console.Write(rows[k]);
}
Console.WriteLine();
numberArrays.Add(rows);//this doesn't fill the list properly..It adds to all list items the last row of the 2d array
}
return numberArrays;
}
如果你放棄所有比一個具有最低平均等其他行,你需要計算他們的區別是什麼?如果不是,有效的方法是首先丟棄行,然後制定出你已經離開了1排的差異,差異將更加耗時比平均值(或者至少,這取決於有多少項目是在行是)。 – AndrewC
可能我沒有提出足夠清晰的問題。我想要做的是計算每條線的差值的平均值.. – tasos
@tasos好了,所以我在正確認識你,你只是想通過每一行,然後計算出的差異發現每行的平均差異? – Purplegoldfish