Я только начал использовать 2D-массивы, но не могу понять, как получить среднее значение для каждого столбца. Я использую цикл 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]
}'
Чтобы получить среднее значение для столбцов, вам нужно пересечь столбцы для фиксированной строки и добавить их значения следующим образом:
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);
}
Если вы ищете специальную команду, которая сделает это за вас, вам не повезло! Вам просто нужно написать код, чтобы сделать это, так же, как обычно, вы обычно будете серией чисел. Подсказка: количество элементов в измерении "y" 2D-массива задается, например, grades.GetLength(1)
.
grades[0, col]
иgrades[1,col]
, не следует заменять 0 и 1 наrow
?