Напишите программу, которая обнуляет все элементы квадратной матрицы, расположенные выше главной диагонали. входные данные в первой строке записаны через пробел размер квадратной матрицы n (количество строк равно количеству столбцов) ( 1 ≤ n ≤ 100 ). в следующих n строках записаны строки матрицы, в каждой – по n натуральных чисел, разделённых пробелами. выходные данные программа должна вывести матрицу, у которой все элементы выше главной диагонали нулевые, а остальные элементы такие же, как в исходной матрице.
var a:array[1..100,1..100] of integer;
i,j,n:integer;
begin
writeln('Введите размер квадратной матрицы:');
readln(n);
writeln('Введите матрицу:');
for i:=1 to n do
for j:=1 to n do
begin
read(a[i,j]);
if j>i then a[i,j]:=0;
end;
writeln('Измененная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
1. Сначала мы должны получить размерность матрицы от пользователя. Для этого считаем значение n с помощью функции input():
n = int(input("Введите размерность матрицы: "))
2. Создадим пустую матрицу размером n x n, заполненную нулями:
matrix = [[0] * n for _ in range(n)]
3. Теперь нужно заполнить матрицу значениями, которые мы получим от пользователя. Мы будем заполнять строку за строкой, затем переходить к следующей строке:
for i in range(n):
row = input("Введите значения для строки {}: ".format(i + 1)).split()
for j in range(n):
matrix[i][j] = int(row[j])
4. Теперь у нас есть заполненная матрица matrix, и мы должны обнулить ее элементы выше главной диагонали. Так как на главной диагонали элементы остаются неизменными, нам потребуется два вложенных цикла: первый для перебора строк, второй - для перебора столбцов. Если индекс столбца больше индекса строки, то мы обнуляем элемент матрицы:
for i in range(n):
for j in range(n):
if j > i:
matrix[i][j] = 0
5. Выводим полученную матрицу на экран:
for row in matrix:
print(" ".join(str(elem) for elem in row))
Вот и все, мы решили задачу. Программа считывает размерность матрицы и значения элементов, обнуляет элементы выше главной диагонали и выводит результат на экран. Надеюсь, это понятно и поможет вам!