Деление строки массива на среднее арифметическое - C#
Формулировка задачи:
Деление на 10 элементов тех строк массива, которые содержат значение, большее общего среднего арифметического.
Что-то упускаю при передаче метода
class Program
{
static void dif (int g,double average,int [,]mas)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
mas[g, j] = mas[g, j] / 10;
}
}
static void Main(string[] args)
{
int[,] mas = new int[9, 9];
double average = 0;
Random rand = new Random();
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
mas[i, j] = rand.Next(0, 9);
average += mas[i, j];
}
}
Console.WriteLine("среднее значение {0}",average);
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
if (mas[i, j] > average)
{
Console.WriteLine("изменяется строка {0}", i);
dif(i, average, mas);
}
}
}
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
Console.Write(mas[i, j]);
}
Console.WriteLine();
}
}Решение задачи: «Деление строки массива на среднее арифметическое»
textual
Листинг программы
class Program
{
static void dif (int g,double average,int [,]mas)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
if (mas[g,j]>average)
mas[g, j] = mas[g, j] / 10;
}
}
static void Main(string[] args)
{
int[,] mas = new int[9, 9];
double average = 0;
int summ=0;
Random rand = new Random();
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
mas[i, j] = rand.Next(0, 9);
summ+= mas[i, j];
}
}
Console.WriteLine("среднее значение {0}",average=summ/81);
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
if (mas[i,j] > average)
{
Console.WriteLine("изменяется строка {0}", i);
dif(i,average, mas);
}
}
}
Console.WriteLine("измененный массив");
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
{
Console.Write(mas[i, j]);
}
Console.WriteLine();
}
}