Сформировать одномерный массив из диагональных элементов матрицы - Pascal
Формулировка задачи:
Для заданои квадратнои матрицы сформировать одномерныи массив из ее диаголальных элементов. Наити след матрицы, суммируя элементы одномерного массива. Матрицу ввести с клавиатуры.
Решение задачи: «Сформировать одномерный массив из диагональных элементов матрицы»
textual
Листинг программы
uses crt; type mas=array[1..100,1..100] of real; type mas2=array[1..100] of real; var a:mas; b:mas2; i,j,n:integer; sum:real; begin clrscr; write('Vvedite razmer matricy:'); readln(n); writeln('Vvedite elementy matricy:'); for i:=1 to n do for j:=1 to n do begin write('[',i,',',j,']:'); readln(a[i,j]); end; writeln('Poluchennaja matrica:'); for i:=1 to n do begin for j:=1 to n do begin write(' ',a[i,j]:8:3); end; writeln; end; for i:=1 to n do b[i]:=a[i,i]; writeln('massiv iz diagonalnyh elementov:'); sum:=0; for i:=1 to n do begin write(' ',b[i]:8:3); sum:=sum+b[i]; end; for i:=1 to n do begin for j:=1 to n do begin if (i mod 2)=0 then a[i,j]:=a[i,j]/sum else a[i,j]:=a[i,j]; end; end; writeln; writeln('Summa elementov massiva:',sum:8:3); writeln('Konechnaja matrica:'); for i:=1 to n do begin for j:=1 to n do begin write(' ',a[i,j]:8:3); end; writeln; end; readln; end.
Объяснение кода листинга программы
- Создается переменная
n
, которая будет хранить размерность матрицы. - Пользователю предлагается ввести размерность матрицы.
- Создается двумерный массив
a
типаmas
и заполняется введенными пользователем значениями. - Выводится поличленная матрица
a
. - Создается одномерный массив
b
типаmas2
и заполняется значениями изa
. - Выводится массив
b
. - Вычисляется сумма элементов массива
b
. - Для каждого элемента
b
вычисляется его частная сумма. - Если элемент
b
является диагональным (его индексы нечетные), то его значение делится на сумму всех диагональных элементов. - Выводится итоговый результат - сумма всех элементов массива
b
. - Выводится исходная матрица
a
. - Выводится конечная матрица
a
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д