Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Паскаль

Автор: Лёха 18.02.2009 1:42

У меня в четверг экзамен, не поможете.
Нужно перемножить матрицы А*B=C
Я нашёл перемножение квадратных матриц, а мне надо произвольных. Знаю что надо условие кол-во строк матрицы А должно быть равно кол-ву строк матрицы B.

Код

var
                                      
ResMat1 : array[1..n, 1..m];
ResMat2 : array[1..m, 1..k];
i, x, y, R : integer;
flag : boolean;

begin
Writeln('Ввод первой матрицы (целые числа)');
for y := 1 to Count do
  for x := 1 to Count do
  begin
   Write('Mat1[', x, ',', y,'] : ');
   Readln(Mat1[x, y]);
  end;
Writeln('Ввод второй матрицы (целые числа)');
for y := 1 to Count do
  for x := 1 to Count do
  begin
   Write('Mat2[', x, ',', y,'] : ');
   Readln(Mat2[x, y]);
  end;

for y := 1 to count do
  for x := 1 to Count do
  begin
   R := 0;                          
   for i := 1 to Count do          
    r := R + mat1[i, y]*Mat2[x, i];
   ResMat1[x, y] := R;              
end;
Writeln('AxB=');
for y := 1 to Count do
begin
  for x := 1 to Count do
   Write(ResMat1[x, y]:4);
  Writeln;
end;
END.


Честно паскаля дома нет, мучаюсь. А прогу попытался восстановить с лекций. Помогите плз. А лучше поясните где ошибки.

Автор: volvo 18.02.2009 2:10

Цитата
Я нашёл перемножение квадратных матриц, а мне надо произвольных.
Там же, где ты нашел перемножение квадратных матриц, есть перемножение сцепленных...

Цитата
Честно паскаля дома нет, мучаюсь
Чего мучаешься? Скачай и работай... Или тебе удобнее, чтобы все ошибки исправили, а ты только пойдешь и сдашь?

Автор: Лёха 18.02.2009 2:41

Цитата
Там же, где ты нашел перемножение квадратных матриц, есть перемножение сцепленных...


Не внимателен, сори. Тему в топку