М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
mamutova0303
mamutova0303
06.08.2020 14:18 •  Информатика

Напишите программу, которая обнуляет все элементы квадратной матрицы, расположенные выше главной диагонали. входные данные в первой строке записаны через пробел размер квадратной матрицы n (количество строк равно количеству столбцов) ( 1 ≤ n ≤ 100 ). в следующих n строках записаны строки матрицы, в каждой – по n натуральных чисел, разделённых пробелами. выходные данные программа должна вывести матрицу, у которой все элементы выше главной диагонали нулевые, а остальные элементы такие же, как в исходной матрице.

👇
Ответ:
jef15
jef15
06.08.2020
Program obnulenie;
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.
4,5(97 оценок)
Ответ:
Юлдуз1122
Юлдуз1122
06.08.2020
Хорошо, давайте разберемся, как решить эту задачу. Программа должна обнулить все элементы квадратной матрицы, расположенные выше главной диагонали. Для этого нам потребуется использовать циклы и условные операторы.

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))

Вот и все, мы решили задачу. Программа считывает размерность матрицы и значения элементов, обнуляет элементы выше главной диагонали и выводит результат на экран. Надеюсь, это понятно и поможет вам!
4,6(97 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ