Прибавить к 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.
Объяснение кода листинга программы
- Создается константа mn, которая равна 100.
- Создается переменная a, которая является матрицей размером от 1 до mn на 1 до mn. Значения ячеек матрицы устанавливаются случайным образом.
- Создается переменная v, которая является вектором размером от 1 до mn. Значения ячеек вектора устанавливаются суммой соответствующих ячеек матрицы.
- Создается переменная c, которая является числом для умножения строки матрицы на.
- Создаются переменные i, j, k, l и n, которые являются интерактивными переменными для ввода данных пользователем.
- В цикле while считывается число n от пользователя.
- Выводится сообщение
Матрица nxn:
, где n — введенное пользователем число. - Для каждой строки матрицы a выполняется цикл while, который считывает число k от пользователя.
- Выводится сообщение
k, l [1..n], c:
, где n — введенное пользователем число, а c — число для умножения строки матрицы на. - Считывается число l от пользователя.
- Выполняется операция a[k,j]:=a[k,j]+a[l,j]*c, где j — индекс строки матрицы, которую нужно прибавить к k-ой строке.
- Выводится сообщение
Результат:
, после чего выводится каждая ячейка матрицы a. - Для каждой строки матрицы a выполняется цикл while, который считывает индекс j от пользователя.
- Выполняется операция v[i]:=v[i]+a[i,j], где i — индекс строки матрицы, которую нужно прибавить к v.
- Выводится сообщение
V =
, после чего выводится каждая ячейка вектора v. - Для каждой строки вектора v выполняется цикл while, который считывает индекс i от пользователя.
- Если значение в ячейке v[i-1] меньше значения в ячейке v[i], то выполняется операция c:=v[i-1], v[i-1]:=v[i], v[i]:=c, где i — индекс строки вектора v.
- Выводится сообщение
V'=
, после чего выводится каждая ячейка вектора v.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д