В матрице поменять местами две строки с заданными номерами - Turbo Pascal
Формулировка задачи:
Доброго времени суток. Прошу о помощи))
Выполнить над квадратной матрицей А порядка n последовательность действий, указанную в
задании.
а) В матрице А поменять местами две строки с заданными номерами;
б) сформировать из элементов полученной в результате предыдущего преобразования матрицы,
которые лежат на главной диагонали и под ней, нижнюю треугольную матрицу С;
в) вычислить сумму положительных элементов, расположенных под главной диагональю С.
Решение задачи: «В матрице поменять местами две строки с заданными номерами»
textual
Листинг программы
uses crt; const nmax=10; var a,c:array[1..nmax,1..nmax] of integer; n,i,j,x,k1,k2,s:integer; begin clrscr; 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 a[i,j]:=-5+random(11); write(a[i,j]:3); end; writeln; end; repeat writeln('Введите номера строк для обмена от 1 до ',n,' k1<>k2'); readln(k1,k2); until(k1 in [1..n])and(k2 in [1..n])and(k1<>k2); for j:=1 to n do begin x:=a[k1,j]; a[k1,j]:=a[k2,j]; a[k2,j]:=x; end; writeln('Обмен строк ',k1,' и ',k2); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; write('Нажмите Enter для продожения'); readln; writeln('Нижнетреугольная матрица'); s:=0; for i:=1 to n do begin for j:=1 to n do begin if j<=i then c[i,j]:=a[i,j] else c[i,j]:=0; write(c[i,j]:3); if c[i,j]>0 then s:=s+c[i,j]; end; writeln; end; write('Сумма положительных элементов=',s); readln; end.
Объяснение кода листинга программы
Этот код написан на языке Turbo Pascal и выполняет следующие действия:
- Запрашивает у пользователя размер матрицы и сохраняет его в переменной
n
. - Создает двумерный массив
a
размеромn
наn
, и заполняет его случайными числами от -5 до 5. - Выводит исходную матрицу
a
. - Запрашивает у пользователя два номера строк для обмена, и проверяет, что они находятся в допустимом диапазоне от 1 до
n
. - Меняет местами строки с заданными номерами в матрице
a
. - Выводит обновленную матрицу
a
. - Вычисляет сумму положительных элементов матрицы
c
, гдеc
является нижнетреугольной матрицей, полученной изa
. - Выводит сумму положительных элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д