Написать процедуру поиска строки с наибольшим средним арифметическим значением положительных элементов - C#
Формулировка задачи:
Написать процедуру поиска для заданного массива А(4,5), строки с наибольшим средним арифметическим значением положительных элементов. Результат поместить в одномерный массив D(5). Считаем, что хотя бы один положительный элемент в каждой строке имеется.
Ребят помогите плиз написать в c sharp вот это, массив я задал а дальше не знаю как(((
Решение задачи: «Написать процедуру поиска строки с наибольшим средним арифметическим значением положительных элементов»
textual
Листинг программы
using System;
namespace ConsoleAppTest
{
class Program
{
static void Main() {
// наш массив 4x5
int[,] matrix = {
{1, -5, 3, 0, 7},
{-2, -7, -3, 5, -10},
{4, -8, 2, 3, -11},
{0, 1, -17, -20, 5}
};
double max = 0; // максимальное ср. ар.
int row = 0; // строка с макс. ср. ар.
double current = 0; // текущее значение
int elements = 0; // количество положительных элементов
for (int i = 0; i < matrix.GetLength(0); i++) {
elements = 0;
current = 0d;
for (int j = 0; j < matrix.GetLength(0); j++) {
if (matrix[i, j] > 0) {
elements++;
current += matrix[i, j];
}
}
current /= (double)elements;
// если данная строка имеет ср. ар., большее, чем все предыдущие
// сохраняем её данные
if (current > max) {
max = current;
row = i;
}
}
// Заносим результат в массив
int[] result = new int[5];
for (int i = 0; i < matrix.GetLength(1); i++)
result[i] = matrix[row, i];
// Вывод массива
for (int m = 0; m < result.GetLength(0); m++)
Console.Write("{0} ", result[m]);
Console.WriteLine();
}
}
}