
Дан двухмерный массив 5×6. Определить среднее арифметическое каждо- го столбца, определить
максимум и минимум каждой строки. На языке C#

Ответы на вопрос

Ответ:
--- C# 7.3 ---
using System;
using System.Collections.Generic;
using System.Linq;
namespace CSLear
{
class Program
{
private const int Row = 5;
private const int Cols = 6;
static void Main(string[] args)
{
int[,] RandomArray = new int[Row, Cols];
ArrayRandomize(ref RandomArray, Row, Cols);
Console.WriteLine("Average for each Column:\n");
foreach (double Average in ColumAverage(RandomArray, Row, Cols))
{
Console.WriteLine(Average);
}
Console.WriteLine("Min-Max for each Row:\n");
foreach(var Pair in RowMinMax(RandomArray, Row, Cols))
{
Console.WriteLine($"Min: {Pair.Item1}:: Max: {Pair.Item2}");
}
Console.ReadKey();
}
public static IEnumerable<double> ColumAverage(int[,] Arr, int ArrRows, int ArrCols)
{
IList<int> Temp = new List<int>();
for (int i = 0; i < ArrCols; i++)
{
for (int j = 0; j < ArrRows; j++)
{
Temp.Add(Arr[j, i]);
}
yield return Temp.Average();
Temp.Clear();
}
}
public static IEnumerable<Tuple<int, int>> RowMinMax(int[,] Arr, int ArrRows, int ArrCols)
{
IList<int> Temp = new List<int>();
for (int i = 0; i < ArrCols; i++)
{
for (int j = 0; j < ArrRows; j++)
{
Temp.Add(Arr[j, i]);
}
yield return new Tuple<int,int>(Temp.Min(), Temp.Max());
Temp.Clear();
}
}
public static void ArrayRandomize(ref int[,] Arr, int ArrRows, int ArrCols)
{
Random r = new Random();
for (int i = 0; i < ArrRows; i++)
{
for (int j = 0; j < ArrCols; j++)
{
Arr[i, j] = r.Next(-99, 99);
}
}
}
}
}
Объяснение:



Конечно, вот пример кода на C#, который решает данную задачу:
csharpusing System;
namespace ArrayOperations
{
class Program
{
static void Main(string[] args)
{
int[,] array = new int[,]
{
{ 10, 20, 30, 40, 50, 60 },
{ 15, 25, 35, 45, 55, 65 },
{ 5, 15, 25, 35, 45, 55 },
{ 8, 18, 28, 38, 48, 58 },
{ 12, 22, 32, 42, 52, 62 }
};
int rows = array.GetLength(0);
int cols = array.GetLength(1);
// Среднее арифметическое каждого столбца
double[] columnAverages = new double[cols];
for (int j = 0; j < cols; j++)
{
double sum = 0;
for (int i = 0; i < rows; i++)
{
sum += array[i, j];
}
columnAverages[j] = sum / rows;
}
// Минимум и максимум каждой строки
int[] rowMin = new int[rows];
int[] rowMax = new int[rows];
for (int i = 0; i < rows; i++)
{
int min = array[i, 0];
int max = array[i, 0];
for (int j = 1; j < cols; j++)
{
if (array[i, j] < min)
{
min = array[i, j];
}
if (array[i, j] > max)
{
max = array[i, j];
}
}
rowMin[i] = min;
rowMax[i] = max;
}
// Вывод результатов
Console.WriteLine("Средние арифметические каждого столбца:");
for (int j = 0; j < cols; j++)
{
Console.WriteLine($"Столбец {j + 1}: {columnAverages[j]}");
}
Console.WriteLine("\nМинимум и максимум каждой строки:");
for (int i = 0; i < rows; i++)
{
Console.WriteLine($"Строка {i + 1}: Минимум = {rowMin[i]}, Максимум = {rowMax[i]}");
}
}
}
}
Просто скопируйте данный код в проект на C# и запустите его. Результатом будет вывод средних арифметических для каждого столбца и минимума/максимума для каждой строки.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili