
C# 100 баллов Задан двухмерный массив чисел. Значение элементов матрицы формируются случайным
образом. Найти сумму минимальных и максимальных элементов главной и побочной диагонали. Вывести результат.

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

using System;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите размер матрицы n=");
int n = int.Parse(Console.ReadLine());
int max, min, s;
int[,] a = new int[n, n];
Console.WriteLine("Матрица размера " + n.ToString() + "x" + n.ToString() + ", заполненная случайными числами:");
Random r = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i, j] = r.Next(0, 100);
Console.Write(a[i, j].ToString() + " ");
}
Console.WriteLine();
}
max = a[1, 1];
min = max;
for (int i = 0; i < n; i++)
{
if (a[i, i] > max)
max = a[i, i];
if (a[i, i] < min)
min = a[i, i];
}
s = min + max;
Console.WriteLine("Сумма максимального и минимального элемента на главной дигонали: " + s.ToString());
max = a[1, 1];
min = max;
for (int i = 0, j = n - 1; i < n; i++, j--)
{
if (a[i, j] > max)
max = a[i, j];
if (a[i, j] < min)
min = a[i, j];
}
s = s + min + max;
Console.WriteLine("Сумма максимального и минимального элемента побочной дигонали: " + (min + max).ToString());
Console.WriteLine("общая сумма(результат): " + s.ToString());
Console.ReadKey();
}
}
}



Для решения данной задачи в C# вы можете использовать следующий код. В этом примере я предполагаю, что двухмерный массив имеет размерность NxN (квадратная матрица). Матрица будет заполнена случайными числами в диапазоне от 1 до 100.
csharpusing System;
class Program
{
static void Main()
{
const int N = 5; // Задайте размерность матрицы (количество строк и столбцов)
int[,] matrix = new int[N, N];
Random random = new Random();
// Заполнение матрицы случайными числами
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
matrix[i, j] = random.Next(1, 101);
}
}
// Вывод исходной матрицы
Console.WriteLine("Исходная матрица:");
PrintMatrix(matrix);
// Нахождение минимальных и максимальных элементов диагоналей
int mainDiagonalMin = int.MaxValue;
int mainDiagonalMax = int.MinValue;
int secondaryDiagonalMin = int.MaxValue;
int secondaryDiagonalMax = int.MinValue;
for (int i = 0; i < N; i++)
{
if (matrix[i, i] < mainDiagonalMin)
mainDiagonalMin = matrix[i, i];
if (matrix[i, i] > mainDiagonalMax)
mainDiagonalMax = matrix[i, i];
if (matrix[i, N - 1 - i] < secondaryDiagonalMin)
secondaryDiagonalMin = matrix[i, N - 1 - i];
if (matrix[i, N - 1 - i] > secondaryDiagonalMax)
secondaryDiagonalMax = matrix[i, N - 1 - i];
}
// Нахождение суммы минимальных и максимальных элементов диагоналей
int mainDiagonalSum = mainDiagonalMin + mainDiagonalMax;
int secondaryDiagonalSum = secondaryDiagonalMin + secondaryDiagonalMax;
// Вывод результатов
Console.WriteLine($"Сумма минимального и максимального элементов главной диагонали: {mainDiagonalSum}");
Console.WriteLine($"Сумма минимального и максимального элементов побочной диагонали: {secondaryDiagonalSum}");
}
// Вспомогательный метод для вывода матрицы
static void PrintMatrix(int[,] matrix)
{
int rows = matrix.GetLength(0);
int cols = matrix.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Console.Write($"{matrix[i, j],4} ");
}
Console.WriteLine();
}
}
}
Этот код сначала заполняет двухмерный массив случайными числами, затем находит минимальные и максимальные элементы главной и побочной диагоналей, и наконец, выводит результаты суммы минимальных и максимальных элементов диагоналей.


Похожие вопросы

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