Найти сумму всех элементов матрицы (желательно REAL) и заменить ею все диагональные элементы этой матрицы - PascalABC.NET
Формулировка задачи:
Найти сумму всех элементов матрицы (желательно REAL) и заменить ею все диагональные элементы этой матрицы.
Вот, что получилось, но только одна диагональ заменяется, а нужно сразу две. И желательно чтобы матрица была REAL.
Уже сделал сам, вот только не в REAL, а в INTEGER.
Решение задачи: «Найти сумму всех элементов матрицы (желательно REAL) и заменить ею все диагональные элементы этой матрицы»
textual
Листинг программы
uses crt; const n = 10; var a: array [1..n, 1..n] of real; s:real; i, j: integer; begin writeln('Исходная матрица:'); randomize; for i := 1 to n do begin for j := 1 to n do begin a[i, j] := -4+17*random; write(a[i, j]:7:2); end; writeln; end; s := 0; for i := 1 to n do for j := 1 to n do s := s + a[i, j]; writeln('Сумма матрицы: ', s:0:2); writeln('Матрица с заменёнными диагональными элементами:'); for i := 1 to n do for j := 1 to n do if (i + j = n + 1) or (i = j) then a[i, j] := s; for i := 1 to n do begin for j := 1 to n do write(a[i, j]:7:2); writeln; end; end.
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Объявляются переменные: a - массив размером [1..n, 1..n] для хранения элементов матрицы типа real; s - переменная типа real для хранения суммы элементов матрицы; i, j - переменные типа integer для индексации элементов матрицы.
- Выводится сообщение об исходной матрице и её элементах.
- Заполняются элементы матрицы случайными числами от -4 до 17 с шагом 1.
- Суммируются все элементы матрицы и сохраняются в переменной s.
- Выводится сообщение о сумме элементов матрицы.
- Заменяются диагональные элементы матрицы на значение переменной s.
- Выводится сообщение о матрице с заменёнными диагональными элементами и её элементах.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д