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

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

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

Дана матрица M*N. Найти среднее геометрическое зна¬чение элементов матрицы и выяснить, каких элементов в матрице больше больших среднего геометрического или меньших среднего геометрического. c#

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

textual
Листинг программы
using System;
class Program
{
    static void Main()
    {
        Console.Write("Введите количество строк в матрице: ");
        int M = int.Parse(Console.ReadLine());
 
        Console.Write("Введите количество столбцов в матрице: ");
        int N = int.Parse(Console.ReadLine());
        double count = (double)M * N;
        int[,] matrix = new int[M, N];
        
        Random r = new Random(); // объявление переменной для генерации случ. чисел
 
        for (int i = 0; i < M; i++) //  заполнения матрицы случ. числами
        {
            for (int j = 0; j < N; j++)
            {
                matrix[i, j] = r.Next(1, 99); // от 1 до 99
            }
        }
        /*
        //заполение матрицы с клавиатуры
        Console.WriteLine();
        Console.Write("Введите значение {0} ", count);
        Console.WriteLine();
        for (int i = 0; i < M; ++i)
        {
            for (int j = 0; j < N; ++j)
            {
                Console.Write("Введите значение элемента матрицы для строки {0}, столбец {1}: ", i,j);
 
                matrix[i, j] = Convert.ToInt32(Console.ReadLine());
            }
        }
        */
        Console.WriteLine();
        Console.WriteLine("Получаем матрицу вида:");
        Console.WriteLine();
        for (int i = 0; i < M; i++) // вывод матрицы
        {
            for (int j = 0; j < N; j++)
            {
                Console.Write("{0,4}", matrix[i, j]);
            }
            Console.WriteLine();
        }
 
 
        double Mul = 1.0;
        int moreAverage = 0;//больше среднего
        int lessAverage = 0;//меньше среднего
 
        //Подсчёт произведения  элементов матрицы
        for (int i = 0; i < M; i++)
        {
            for (int j = 0; j < N; j++)
            {
                Mul *= matrix[i, j];
            }
        }
        //среднее геометрическое значение элементов матрицы 
        double averGeom = Math.Pow(Mul, 1.0 / count);
        Console.WriteLine();
        Console.WriteLine("Cреднее геометрическое значение элементов матрицы : " + averGeom);
 
        /*Подсчёт каких элементов в матрице больше, больших среднего геометрического 
            или меньших среднего геометрического*/
        for (int i = 0; i < M; i++)
        {
            for (int j = 0; j < N; j++)
            {
                if (averGeom < matrix[i, j])
                    moreAverage++;
                else if (averGeom > matrix[i, j])
                    lessAverage++;
            }
        }
 
        Console.WriteLine();
 
        if (moreAverage > lessAverage)
            Console.WriteLine("Элементов в матрице, которые больше среднего геометрического, больше.");
        if (moreAverage < lessAverage)
            Console.WriteLine("Элементов в матрице, которые меньше среднего геометрического, больше.");
        Console.ReadKey();
    }
}

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


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

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

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