В матрице поменять местами две строки с заданными номерами - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Прошу о помощи)) Выполнить над квадратной матрицей А порядка n последовательность действий, указанную в задании. а) В матрице А поменять местами две строки с заданными номерами; б) сформировать из элементов полученной в результате предыдущего преобразования матрицы, которые лежат на главной диагонали и под ней, нижнюю треугольную матрицу С; в) вычислить сумму положительных элементов, расположенных под главной диагональю С.

Решение задачи: «В матрице поменять местами две строки с заданными номерами»

textual
Листинг программы
  1. uses crt;
  2. const nmax=10;
  3. var a,c:array[1..nmax,1..nmax] of integer;
  4.     n,i,j,x,k1,k2,s:integer;
  5. begin
  6. clrscr;
  7. randomize;
  8. repeat
  9. write('Размер матрицы от 2 до ',nmax,' n=');
  10. readln(n);
  11. until n in [2..nmax];
  12. writeln('Исходная матрица:');
  13. for i:=1 to n do
  14.  begin
  15.   for j:=1 to n do
  16.    begin
  17.     a[i,j]:=-5+random(11);
  18.     write(a[i,j]:3);
  19.    end;
  20.   writeln;
  21.  end;
  22. repeat
  23. writeln('Введите номера строк для обмена от 1 до ',n,' k1<>k2');
  24. readln(k1,k2);
  25. until(k1 in [1..n])and(k2 in [1..n])and(k1<>k2);
  26. for j:=1 to  n do
  27.  begin
  28.   x:=a[k1,j];
  29.   a[k1,j]:=a[k2,j];
  30.   a[k2,j]:=x;
  31.  end;
  32. writeln('Обмен строк ',k1,' и ',k2);
  33. for i:=1 to n do
  34.  begin
  35.   for j:=1 to n do
  36.   write(a[i,j]:3);
  37.   writeln;
  38.  end;
  39. write('Нажмите Enter для продожения');
  40. readln;
  41. writeln('Нижнетреугольная матрица');
  42. s:=0;
  43. for i:=1 to n do
  44.  begin
  45.   for j:=1 to n do
  46.    begin
  47.     if j<=i then c[i,j]:=a[i,j]
  48.     else c[i,j]:=0;
  49.     write(c[i,j]:3);
  50.     if c[i,j]>0 then s:=s+c[i,j];
  51.    end;
  52.   writeln;
  53.  end;
  54. write('Сумма положительных элементов=',s);
  55. readln;
  56. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы