מערך דו מימדי ב c#

יטרנר

New member
מערך דו מימדי ב c#

התבקשתי לאתחל מטריצה בגודל size במספרים אקראיים ולמצוא מס' דברים: 1) את המס' הגדול ביותר 2) את המס' הקטן ביותר 3)את הממוצע 4)את השורה עם הממוצע הגבוה ביותר 5) את הטור עם הממוצע הקטן ביותר. עשיתי את התרגיל אבל אני לא מצליחה למצוא את הממוצע הגבוה ביותר, כנראה בעיה קטנה שהורסת את הכל, כי אני בטוחה שהדרך שעשיתי נכונה. אם מישהו ימצא לי אותה, אודה לו מאד מאד :) הפיתרון שלי:
Console.WriteLine("enter size"); int size = int.Parse(Console.ReadLine()); int[,] matrix = new int[size, size]; Random rnd = new Random(); int bignum = 0; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { matrix[i, j] = rnd.Next(0, 10); } } int min = matrix[0, 0]; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write("{0},", matrix[i, j]); } Console.WriteLine(); } //finding the max and the mix values for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { if (matrix[i, j] > bignum) { bignum = matrix[i, j]; } if (matrix[i, j] < min) { min = matrix[i, j]; } } } Console.WriteLine("the maximum number:{0}", bignum); Console.WriteLine("the minimum number:{0}", min); // making an average int sum = 0; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { sum += matrix[i, j]; } } Console.WriteLine("the average is: {0}", sum / matrix.Length); //finding the line with the highest average double []rows=new double [matrix.GetLength(1)]; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { rows = rows+ matrix[i, j]; } Console.WriteLine("average{0}", rows / matrix.GetLength(1)); } foreach (int s in rows) { Console.WriteLine("values of rows:{0}",s); } &nb
 

Orit Ne

New member
נראה סבבה

אבל אני לא רואה איפה את מחפשת את הממוצע הגדול ביותר. לפי מה שהבנתי, המערך rows מכיל את הסכום בכל שורה. חלוקת הסכום במספר העמודות נותנת את הממוצע )עשית את זה בשורה הזו)
Console.WriteLine("average{0}", rows / matrix.GetLength(1));

מה שנשאר הוא לבדוק איזה מבין הממוצעים הוא הגדול ביותר.
 
למעלה