Дана квадратная матрица порядка M. Заменить нулями элементы, лежащие одновременно выше главной диагонали (включая эту диагональ) и ниже побочной диагонали (также включая эту диагональ).
код на c#
csharp
using System;
class Program
{
static void Main()
{
int M = 5; // порядок матрицы
int[,] matrix = new int[M, M] // объявление и инициализация матрицы
{
{ 1, 2, 3, 4, 5 },
{ 6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15 },
{ 16, 17, 18, 19, 20 },
{ 21, 22, 23, 24, 25 }
};
Console.WriteLine("Исходная матрица:");
PrintMatrix(matrix); // вывод исходной матрицы
ReplaceWithZeros(matrix); // замена элементов нулями
Console.WriteLine("Матрица после замены:");
PrintMatrix(matrix); // вывод измененной матрицы
}
static void ReplaceWithZeros(int[,] matrix)
{
int M = matrix.GetLength(0);
for (int i = 0; i < M; i++)
{
for (int j = M - 1; j >= i; j--)
{
matrix[i, j] = 0;
}
}
}
static void PrintMatrix(int[,] matrix)
{
int M = matrix.GetLength(0);
for (int i = 0; i < M; i++)
{
for (int j = 0; j < M; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine();
}
}
В этой программе мы создаем двумерный массив `matrix`, который представляет собой квадратную матрицу порядка M. Затем мы выводим исходную матрицу с помощью функции `PrintMatrix`.
Затем мы вызываем функцию `ReplaceWithZeros`, которая проходит по каждому элементу матрицы и заменяет его на ноль, если он удовлетворяет условию (выше главной диагонали и ниже побочной диагонали).
Функция `ReplaceWithZeros` принимает матрицу в качестве параметра и использует вложенные циклы `for` для перебора всех элементов матрицы. Внутренний цикл идет справа налево, ограниченный значениями от `M - 1` до `i`, где `i` — номер текущей строки. Это позволяет заменить элементы, лежащие выше главной диагонали и ниже побочной диагонали, на нули.
Наконец, мы снова вызываем функцию `PrintMatrix`, чтобы вывести измененную матрицу после замены. Это позволяет нам увидеть результат.
На выходе программа выводит исходную матрицу и матрицу после замены:
Исходная матрица:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Матрица после замены:
1 2 3 4 0
6 7 8 0 0
11 12 0 0 0
16 0 0 0 0
0 0 0 0 0
Видно, что все элементы выше главной диагонали и ниже побочной диагонали заменены на ноль, включая сами диагонали.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет