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

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

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

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

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

textual
Листинг программы
const mn=100;
var
  a: array [1..mn,1..mn] of Real;
  v: array [1..mn] of Real;
  c: Real;
  i, j, k, l, n: Integer;
begin
  Randomize;
  repeat Write('N [2..',mn,']: '); Read(n); until n in [2..100];
  WriteLn('Матрица ',n,'x',n,':');
  for i:=1 to n do begin
    for j:=1 to n do begin a[i,j]:=Random*100; Write(' ',a[i,j]:7:1); end; WriteLn;
  end;
  repeat Write('k, l [1..',n,'], c: '); ReadLn(k,l,c); until (k in [1..n]) and (l in [1..n]);
  for j:=1 to n do a[k,j]:=a[k,j]+a[l,j]*c;
  WriteLn('Результат:');
  for i:=1 to n do begin
    for j:=1 to n do Write(' ',a[i,j]:7:1); WriteLn;
  end;
  for i:=1 to n do for j:=1 to n do v[i]:=v[i]+a[i,j];
  WriteLn('V ='); for i:=1 to n do Write(' ',v[i]:7:1); WriteLn;
  for i:=2 to n do for j:=i downto 2 do
    if v[i-1]<v[i] then begin
      c:=v[i-1]; v[i-1]:=v[i]; v[i]:=c;
    end;
  WriteLn('V''='); for i:=1 to n do Write(' ',v[i]:7:1); WriteLn;
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
Похожие ответы