Прибавить к k-ой строке матрицы А ее l-ю строку, умноженную на заданное число - Turbo Pascal

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

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

а) Прибавить к k-ой строке матрицы А ее l-ю строку, умноженную на заданное число; б) сформировать вектор V, элементами которого являются суммы элементов строк полученной матрицы; в) упорядочить элементы V в порядке убывания.

Решение задачи: «Прибавить к k-ой строке матрицы А ее l-ю строку, умноженную на заданное число»

textual
Листинг программы
  1. const mn=100;
  2. var
  3.   a: array [1..mn,1..mn] of Real;
  4.   v: array [1..mn] of Real;
  5.   c: Real;
  6.   i, j, k, l, n: Integer;
  7. begin
  8.   Randomize;
  9.   repeat Write('N [2..',mn,']: '); Read(n); until n in [2..100];
  10.   WriteLn('Матрица ',n,'x',n,':');
  11.   for i:=1 to n do begin
  12.     for j:=1 to n do begin a[i,j]:=Random*100; Write(' ',a[i,j]:7:1); end; WriteLn;
  13.   end;
  14.   repeat Write('k, l [1..',n,'], c: '); ReadLn(k,l,c); until (k in [1..n]) and (l in [1..n]);
  15.   for j:=1 to n do a[k,j]:=a[k,j]+a[l,j]*c;
  16.   WriteLn('Результат:');
  17.   for i:=1 to n do begin
  18.     for j:=1 to n do Write(' ',a[i,j]:7:1); WriteLn;
  19.   end;
  20.   for i:=1 to n do for j:=1 to n do v[i]:=v[i]+a[i,j];
  21.   WriteLn('V ='); for i:=1 to n do Write(' ',v[i]:7:1); WriteLn;
  22.   for i:=2 to n do for j:=i downto 2 do
  23.     if v[i-1]<v[i] then begin
  24.       c:=v[i-1]; v[i-1]:=v[i]; v[i]:=c;
  25.     end;
  26.   WriteLn('V''='); for i:=1 to n do Write(' ',v[i]:7:1); WriteLn;
  27. end.

Объяснение кода листинга программы

  1. Создается константа mn, которая равна 100.
  2. Создается переменная a, которая является матрицей размером от 1 до mn на 1 до mn. Значения ячеек матрицы устанавливаются случайным образом.
  3. Создается переменная v, которая является вектором размером от 1 до mn. Значения ячеек вектора устанавливаются суммой соответствующих ячеек матрицы.
  4. Создается переменная c, которая является числом для умножения строки матрицы на.
  5. Создаются переменные i, j, k, l и n, которые являются интерактивными переменными для ввода данных пользователем.
  6. В цикле while считывается число n от пользователя.
  7. Выводится сообщение Матрица nxn:, где n — введенное пользователем число.
  8. Для каждой строки матрицы a выполняется цикл while, который считывает число k от пользователя.
  9. Выводится сообщение k, l [1..n], c:, где n — введенное пользователем число, а c — число для умножения строки матрицы на.
  10. Считывается число l от пользователя.
  11. Выполняется операция a[k,j]:=a[k,j]+a[l,j]*c, где j — индекс строки матрицы, которую нужно прибавить к k-ой строке.
  12. Выводится сообщение Результат:, после чего выводится каждая ячейка матрицы a.
  13. Для каждой строки матрицы a выполняется цикл while, который считывает индекс j от пользователя.
  14. Выполняется операция v[i]:=v[i]+a[i,j], где i — индекс строки матрицы, которую нужно прибавить к v.
  15. Выводится сообщение V =, после чего выводится каждая ячейка вектора v.
  16. Для каждой строки вектора v выполняется цикл while, который считывает индекс i от пользователя.
  17. Если значение в ячейке v[i-1] меньше значения в ячейке v[i], то выполняется операция c:=v[i-1], v[i-1]:=v[i], v[i]:=c, где i — индекс строки вектора v.
  18. Выводится сообщение V'=, после чего выводится каждая ячейка вектора v.

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


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

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

10   голосов , оценка 4.1 из 5

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

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

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