Программа
{ ЛИКИ
Работа с матрицами
и векторами }
Program Denis_5;
Const LineQuantityA=7; { Количество строк в матрице A }
ColumnQuantityA=7; { Количество столбцов в матрице A }
LineQuantityB=5; { Количество строк в матрице B }
ColumnQuantityB=5; { Количество столбцов в матрице B }
Type MatrixA=array [1..LineQuantityA,1..ColumnQuantityA] of real;
{ Тип матрица A }
VectorC=array [1..LineQuantityA] of longint; { Тип вектор С }
MatrixB=array [1..LineQuantityB,1..ColumnQuantityB] of real;
{ Тип матрица B }
VectorD=array [1..LineQuantityB] of longint; { Тип вектор D }
Var A:MatrixA; { Переменная матрица A }
B:MatrixB; { Переменная матрица B }
C:VectorC; { Переменная вектор C }
D:VectorD; { Переменная вектор D }
Procedure InputMatrixA(var A:MatrixA); { Процедура ввода матрицы A }
Var LineMeter:1..LineQuantityA; { Счетчик строк }
ColumnMeter:1..ColumnQuantityA; { Счетчик столбцов }
Begin
for LineMeter:=1 to LineQuantityA do { Цикл ввода строк }
for ColumnMeter:=1 to ColumnQuantityA do { Цикл ввода строки }
begin
Write('Введите элемент матрицы A[',LineMeter,',',ColumnMeter,'] ');
{ Вывод приглашения ввести элемент матрицы }
ReadLn(A[LineMeter,ColumnMeter]) { Ввод элемента матрицы }
end
End;
Procedure InputMatrixB(var B:MatrixB); { Процедура ввода матрицы B }
Var LineMeter:1..LineQuantityB; { Счетчик строк }
ColumnMeter:1..ColumnQuantityB; { Счетчик столбцов }
Begin
for LineMeter:=1 to LineQuantityB do { Цикл ввода строк }
for ColumnMeter:=1 to ColumnQuantityB do { Цикл ввода строки }
begin
Write('Введите элемент матрицы B[',LineMeter,',',ColumnMeter,'] ');
{ Вывод приглашения ввести элемент матрицы }
ReadLn(B[LineMeter,ColumnMeter]) { Ввод элемента матрицы }
end
End;
Procedure OutputMatrixA(A:MatrixA); { Процедура вывода матрицы A }
Var LineMeter:1..LineQuantityA; { Счетчик строк }
ColumnMeter:1..ColumnQuantityA; { Счетчик столбцов }
Begin
for LineMeter:=1 to LineQuantityA do { Цикл вывода строк }
begin
for ColumnMeter:=1 to ColumnQuantityA do { Цикл вывода строки }
Write(A[LineMeter,ColumnMeter]:10,' '); { Вывод элемента }
WriteLn { Пропуск строки }
end
End;
Procedure OutputMatrixB(B:MatrixB); { Процедура вывода матрицы B }
Var LineMeter:1..LineQuantityB; { Счетчик строк }
ColumnMeter:1..ColumnQuantityB; { Счетчик столбцов }
Begin
for LineMeter:=1 to LineQuantityB do { Цикл вывода строк }
begin
for ColumnMeter:=1 to ColumnQuantityB do { Цикл вывода строки }
Write(B[LineMeter,ColumnMeter]:10,' '); { Вывод элемента }
WriteLn { Пропуск строки }
end
End;
Procedure ProcessAC(A:MatrixA; var C:VectorC);
{ Процедура формирования массива C }
var Meter:1..LineQuantityA; { Счетчик }
Begin
for Meter:=1 to LineQuantityA do
C[Meter]:=Round(A[Meter,LineQuantityA-Meter+1])
{ Цикл определения вектора С }
End;
Procedure ProcessBD(B:MatrixB; var D:VectorD);
{ Процедура формирования массива D }
var Meter:1..LineQuantityB; { Счетчик }
Begin
for Meter:=1 to LineQuantityB do
D[Meter]:=Round(B[Meter,LineQuantityB-Meter+1])
{ Цикл определения вектора D }
End;
Procedure OutputVectorC(C:VectorC); { Процедура вывода вектора C }
var Meter:1..LineQuantityA; { Счетчик }
Begin
for Meter:=1 to LineQuantityA do Write(C[Meter]:10,' ');
{ Цикл вывода элементов вектора }
WriteLn { Пропуск строки }
End;
Procedure OutputVectorD(D:VectorD); { Процедура вывода вектора D }
var Meter:1..LineQuantityB; { Счетчик }
Begin
for Meter:=1 to LineQuantityB do Write(D[Meter]:10,' ');
{ Цикл вывода элементов вектора }
WriteLn { Пропуск строки }
End;
BEGIN
WriteLn; { Пропуск строки }
InputMatrixA(A); { Ввод матрицы A }
WriteLn; { Пропуск строки }
InputMatrixB(B); { Ввод матрицы B }
ProcessAC(A,C); { Формирование массива C }
ProcessBD(B,D); { Формирование массива D }
WriteLn; { Пропуск строки }
WriteLn('Матрица A:'); { Вывод заголовка }
OutputMatrixA(A); { Вывод матрицы A }
WriteLn('Вектор C:'); { Вывод заголовка }
OutputVectorC(C); { Вывод вектора С }
WriteLn; { Пропуск строки }
WriteLn('Матрица В:'); { Вывод заголовка }
OutputMatrixB(B); { Вывод матрицы B }
WriteLn('Вектор D:'); { Вывод заголовка }
OutputVectorD(D); { Вывод вектора D }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию