Найти среднее арифметическое каждого из столбцов матрицы - C#

Узнай цену своей работы

Формулировка задачи:

Совсем не знаю как сделать подобное задание , если знаете помогите, только не используйте сложных комбинаций кода и если не сложно оставляйте коментарии пошагово . Задана действительная матрица размера NхМ. Найти среднее арифметическое каждого из столбцов.

Огромное спасибо.

Решение задачи: «Найти среднее арифметическое каждого из столбцов матрицы»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApplication1
  5. {
  6.     class Program
  7.     {
  8.         const int N = 5; //строки
  9.         const int M = 6; //столбцы
  10.  
  11.         static Random rnd = new Random();
  12.  
  13.         static void Main(string[] args)
  14.         {
  15.             int[,] matrix = new int[N, M]; //Объявляем матрицу
  16.  
  17.             //Заполняем матрицу случайными значениями от -10 до 20
  18.             for (int i = 0; i < N; i++)
  19.                 matrix.SetRow(Enumerable.Range(0, M).Select(x => x = rnd.Next(-10, 20)).ToArray(), i);
  20.            
  21.             //Печатаем матрицу в консоль
  22.             for (int i = 0; i < N; i++)
  23.                 Console.WriteLine(string.Join("\t", matrix.GetRow(i)));
  24.  
  25.             //Находим среднее арифметическое столбцов
  26.             var result = Enumerable.Range(0, M).Select(x => matrix.GetColumn(x).Sum() / M);
  27.  
  28.             //Печатаем среднее арифметическое под соответствующим столбцом (округление к меньшему по модулю)
  29.             Console.WriteLine();
  30.             Console.WriteLine(string.Join("\t", result));
  31.  
  32.             Console.ReadKey(true);
  33.         }
  34.     }
  35.  
  36.     //Плюшки для облегчения работы с матрицей
  37.     public static class ArrayExtensions
  38.     {
  39.         public static long SetRow<T>(this T[,] array, T[] data, int i)
  40.         {
  41.             return Enumerable.Range(0, array.GetLength(1)).Select(j => array[i, j] = data[j]).LongCount();
  42.         }
  43.  
  44.         public static T[] GetRow<T>(this T[,] data, int i)
  45.         {
  46.             return Enumerable.Range(0, data.GetLength(1)).Select(j => data[i, j]).ToArray();
  47.         }
  48.  
  49.         public static T[] GetColumn<T>(this T[,] data, int i)
  50.         {
  51.             return Enumerable.Range(0, data.GetLength(0)).Select(j => data[j, i]).ToArray();
  52.         }
  53.     }
  54.  
  55. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы