В матрице поменять местами две строки с заданными номерами - 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 и выполняет следующие действия:

  1. Запрашивает у пользователя размер матрицы и сохраняет его в переменной n.
  2. Создает двумерный массив a размером n на n, и заполняет его случайными числами от -5 до 5.
  3. Выводит исходную матрицу a.
  4. Запрашивает у пользователя два номера строк для обмена, и проверяет, что они находятся в допустимом диапазоне от 1 до n.
  5. Меняет местами строки с заданными номерами в матрице a.
  6. Выводит обновленную матрицу a.
  7. Вычисляет сумму положительных элементов матрицы c, где c является нижнетреугольной матрицей, полученной из a.
  8. Выводит сумму положительных элементов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы