Каждый элемент столбца матрицы разделить на диагональный, стоящий в том же столбце - Pascal ABC
Формулировка задачи:
В матрице Z (n, n) каждый элемент столбца разделить на диагональный, стоящий в том же столбце. Исходный и скорректированный массивы вывести на экран.
Решение задачи: «Каждый элемент столбца матрицы разделить на диагональный, стоящий в том же столбце»
textual
Листинг программы
const nmax=10; var z:array[1..nmax,1..nmax] of real; n,i,j:integer; x:real; begin randomize; repeat write('Размер матрицы от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to n do begin z[i,j]:=10*random; write(z[i,j]:6:2); end; writeln; end; writeln('Преобразованная матрица'); for j:=1 to n do begin x:=z[j,j]; for i:=1 to n do z[i,j]:=z[i,j]/x; end; for i:=1 to n do begin for j:=1 to n do write(z[i,j]:6:2); writeln; end; end.
Объяснение кода листинга программы
- Объявляется переменная nmax, которая представляет собой максимальное количество строк в матрице.
- Создается переменная z, которая представляет собой матрицу размером от 2 до nmax на 1 на 10.
- Задаются три переменные: i, j и n. Переменная i будет использоваться для обхода строк матрицы, а переменные j и n - для обхода столбцов.
- Выполняется цикл, который запрашивает у пользователя размер матрицы. Цикл продолжается до тех пор, пока введенное значение n не будет находиться в диапазоне от 2 до nmax.
- Внутри цикла выводится исходная матрица z. Для каждой строки матрицы выводится один элемент.
- После вывода исходной матрицы выполняется преобразование матрицы. Для каждой строки матрицы вычисляется диагональный элемент и все остальные элементы строки приводятся к нему.
- Выводится преобразованная матрица. Для каждой строки матрицы выводятся элементы.
- Выполняется еще один цикл, который приводится к предыдущему шагу.
- По завершении циклов выводится конечный результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д