Помогите разобраться с кодом расчета min, max, average - C#
Формулировка задачи:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int min, max; double i = 0; int[,] Arr = new int[10, 10]; Random rand = new Random(); for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { Arr[a, b] = rand.Next(-20, 20); Console.Write(Arr[a,b] + "\t"); } } min = max = Arr[0, 0]; for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { if (min > Arr[a, b]) min = Arr[a, b]; if (max < Arr[a, b]) max = Arr[a, b]; } } for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { i = i + Arr[a, b]; } } i = i / (Arr.Length - 1); Console.WriteLine("Минимальное значение " + min); Console.WriteLine("Максимальное значение " + max); Console.WriteLine("Среднее значение " + i); Console.ReadLine(); } } }
Решение задачи: «Помогите разобраться с кодом расчета min, max, average»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int min, max; // Объявляем переменные целого типа double i = 0; // и инициализируем переменную вещественного типа int[,] Arr = new int[10, 10]; // объявляем двумерный массив целого типа размерность 10х10 Random rand = new Random(); // Инициализируем объект класса Random (генератор случайных чисел) // В следующем двухуровневом цикле забиваем в наш массив данные for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { Arr[a, b] = rand.Next(-20, 20); // От -20 до +19 включительно! Console.Write(Arr[a, b] + "\t");// И сразу же выводим значение на консоль (\t - Горизонтальная табуляция) } } min = max = Arr[0, 0]; // мину и максу присваиваем первый элемент из массива // В следующем двухуровневом цикле ищем минимальный и максимальный элемент из нашего двумерного массива for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { if (min > Arr[a, b]) min = Arr[a, b]; // если вдруг находим элемент значение которого меньше минимума, то теперь минимуму присваиваем значение этого элемента массива if (max < Arr[a, b]) max = Arr[a, b]; // если вдруг находим элемент значение которого больше максимума, то теперь максимуму присваиваем значение этого элемента массива } } // В следующем двухуровневом цикле суммируем все элементы и записываем значение в переменную i, кстати, это можно было сделать и в прошлом цикле, да и вообше всё можно было сделать в одном цикле: и присваивание рандомных значений и нахождение мин/макса и нахождение суммы эл-ов for (int a = 0; a < Arr.GetLength(0); a++) { for (int b = 0; b < Arr.GetLength(1); b++) { i = i + Arr[a, b]; } } i = i / (Arr.Length - 1); // Здесь находим среднее арифметическое значение по нашему двумерному массиву (матрице), делим сумму элементов на количество элементов // Далее выводим найденные значения на экран Console.WriteLine("Минимальное значение " + min); Console.WriteLine("Максимальное значение " + max); Console.WriteLine("Среднее значение " + i); Console.ReadLine(); // Приостанавливаем консоль до нажатия enter } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д