Чтобы найти произведение матрицы размерности n×m на вектор размерности m, нам нужно выполнить умножение матрицы на вектор. Каждый элемент результирующего вектора будет вычисляться как сумма произведений соответствующих элементов строки матрицы и вектора.
Вот пример программы на языке Pascal, которая позволяет вводить элементы матрицы и вектора, а затем вычисляет их произведение:
program MatrixVectorProduct;
uses crt;
var
n, m, i, j: integer;
matrix: array of array of integer;
vector: array of integer;
result: array of integer;
begin
clrscr;
// Ввод размерностей матрицы
writeln('Введите количество строк n:');
readln(n);
writeln('Введите количество столбцов m:');
readln(m);
// Определяем размеры массивов
setlength(matrix, n, m);
setlength(vector, m);
setlength(result, n);
// Ввод элементов матрицы
writeln('Введите элементы матрицы:');
for i := 0 to n - 1 do
for j := 0 to m - 1 do
begin
write('matrix[', i, '][', j, ']: ');
read(matrix[i][j]);
end;
// Ввод элементов вектора
writeln('Введите элементы вектора:');
for j := 0 to m - 1 do
begin
write('vector[', j, ']: ');
read(vector[j]);
end;
// Вычисление произведения матрицы на вектор
for i := 0 to n - 1 do
begin
result[i] := 0; // Инициализация элемента результирующего вектора
for j := 0 to m - 1 do
begin
result[i] := result[i] + matrix[i][j] * vector[j];
end;
end;
// Вывод результата
writeln('Результат произведения матрицы на вектор:');
for i := 0 to n - 1 do
begin
writeln('result[', i, ']: ', result[i]);
end;
readln;
end.
Описание программы:
- Программа запрашивает у пользователя размерности матрицы (n и m).
- Создаются динамические массивы для матрицы, вектора и результирующего вектора.
- Пользователь вводит элементы матрицы и вектора.
- Выполняется умножение матрицы на вектор, и результаты сохраняются в результирующем векторе.
- В конце программа выводит элементы результирующего вектора.
Вы можете использовать этот код для выполнения необходимых вычислений. Если у вас есть дополнительные вопросы или нужна помощь с другими аспектами, не стесняйтесь обращаться!
