В матрице поменять местами две строки с заданными номерами - 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
. - Выводит сумму положительных элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д