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

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

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

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

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

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

textual
Листинг программы
using System;
using System.Linq;
 
namespace ConsoleApplication1
{
    class Program
    {
        const int N = 5; //строки
        const int M = 6; //столбцы
 
        static Random rnd = new Random();
 
        static void Main(string[] args)
        {
            int[,] matrix = new int[N, M]; //Объявляем матрицу
 
            //Заполняем матрицу случайными значениями от -10 до 20
            for (int i = 0; i < N; i++)
                matrix.SetRow(Enumerable.Range(0, M).Select(x => x = rnd.Next(-10, 20)).ToArray(), i);
            
            //Печатаем матрицу в консоль
            for (int i = 0; i < N; i++)
                Console.WriteLine(string.Join("\t", matrix.GetRow(i)));
 
            //Находим среднее арифметическое столбцов
            var result = Enumerable.Range(0, M).Select(x => matrix.GetColumn(x).Sum() / M);
 
            //Печатаем среднее арифметическое под соответствующим столбцом (округление к меньшему по модулю)
            Console.WriteLine();
            Console.WriteLine(string.Join("\t", result));
 
            Console.ReadKey(true);
        }
    }
 
    //Плюшки для облегчения работы с матрицей
    public static class ArrayExtensions
    {
        public static long SetRow<T>(this T[,] array, T[] data, int i)
        {
            return Enumerable.Range(0, array.GetLength(1)).Select(j => array[i, j] = data[j]).LongCount();
        }
 
        public static T[] GetRow<T>(this T[,] data, int i)
        {
            return Enumerable.Range(0, data.GetLength(1)).Select(j => data[i, j]).ToArray();
        }
 
        public static T[] GetColumn<T>(this T[,] data, int i)
        {
            return Enumerable.Range(0, data.GetLength(0)).Select(j => data[j, i]).ToArray();
        }
    }
 
}

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


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

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

14   голосов , оценка 3.857 из 5
Похожие ответы