05.11.2009, 06:37
общий
это ответ
Здравствуйте, Андреев Дмитрий Фёдорович!
Решение в приложении.
Приложение:
uses crt;
const n=6;{размер матрицы и вектора}
var a:array[1..n,1..n] of integer;{матрица}
b,c:array[1..n] of integer;{векторы заданный и результат}
i,j,k:byte;
begin
clrscr;
randomize;
writeln('Матрица А:');
for i:=1 to n do
begin
for j:=1 to n do
begin
if j>=i then a[i,j]:=random(9)+1{верхний ("правый") треугольник матрицы}
else a[i,j]:=0;
write(a[i,j]:3);
end;
writeln;
end;
writeln;
writeln('Вектор b:');
for i:=1 to n do
begin
b[i]:=random(9)+1;
write(b[i],' ');
end;
writeln;
writeln;
for k:=1 to n do{по строкам все}
for j:=i to n do{по столбцам только не ноли}
begin
c[k]:=0;
for i:=1 to n do
c[k]:=c[k]+a[k,i]*b[i];{перемножаем элементы строки матрицы
на соответствующие элементы вектора и суммируем}
end;
writeln('Вектор А*b');
for i:=1 to n do
write(c[i],' ');
readln
end.