IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> перемножение двух матриц, перемножить две матрицы разного порядка
AlexPS
сообщение 1.12.2004 11:01
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  -1  +


Чуваки, помогите пжалуйста.
Мне нужна процедура перемнодения двух матриц разного порядка,
например 5Х3 на 3Х5. А везде, где искал, только перемножение квадратных матриц. sad.gif


--------------------
@13][ P.$.
www.alex-ps.com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
volvo
сообщение 5.12.2004 14:47
Сообщение #2


Гость






AlexPS
А я не понял, почему у всех компилится, а у тебя - нет... Вот тебе процедура перемножения матриц (правда, я не понимаю, зачем тогда ФАК...)
Код

Const
 sizeX = 5;
 sizeY = 3;

Type
 TOneMatrix =
   Array[1 .. sizeX, 1 .. sizeY] Of Real;
 TTwoMatrix =
   Array[1 .. sizeY, 1 .. sizeX] Of Real;
 TResult =
   Array[1 .. sizeX, 1 .. sizeX] Of Real;

(* matrix multiplication *)
Procedure matrixMult(Var m: TResult;
         a: TOneMatrix; b: TTwoMatrix);
 Var
   i, j, k: Integer;
 Begin
   For i := 1 To sizeX Do
     For j := 1 To sizeX Do
       Begin
         m[i, j] := 0;
         For k := 1 To sizeY Do
           m[i, j] := m[i, j] + a[i, k] * b[k, j]
       End;
 End;

Var
 m1: TOneMatrix;
 m2: TTwoMatrix;
 r: TResult;
Begin
 {заполняешь матрицу m1(5x3)}
 {заполняешь матрицу m2(3x5)}
 matrixMult(r, m1, m2);
 {получаешь матрицу r(5x5)}

End.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
AlexPS   перемножение двух матриц   1.12.2004 11:01
volvo   AlexPS Правила для кого? Даже поиском пользоват...   1.12.2004 11:07
AlexPS   Пасиба чувак. Я это искал 2 месяца!!! ...   1.12.2004 18:57
AlexPS   volvo, у меня этот модуль не компилируется, а поня...   5.12.2004 2:32
BlackNightFear   AlexPS ты сам алгоритм перемножения знаешь?   5.12.2004 3:22
Jahnerus   AlexPS type ma3x=array[1..50,1..50] of int...   5.12.2004 4:08
volvo   AlexPS Что значит "не компилируется?" Ч...   5.12.2004 9:35
Jahnerus   volvo :D Калькулятором может ! Run: calc c:...   5.12.2004 10:05
AlexPS   А че, калькулятором нельзя??? :o   5.12.2004 10:31
volvo   AlexPS Так чем все-таки? Турбо Паскаль? Дельфи? F...   5.12.2004 10:33
Altair   AlexPS, присоединяюсь к вопросу: "Чем вы проб...   5.12.2004 10:38
AlexPS   Delphi 7   5.12.2004 10:39
Jahnerus   Короче не компилиться только в одном случае ! ...   5.12.2004 10:56
AlexPS   Так я ничего и не понял, что мне делать??? :huh:   5.12.2004 14:21
volvo   AlexPS А я не понял, почему у всех компилится, а ...   5.12.2004 14:47
Guest   А по-моему эта процедура не подойдет для случая, н...   9.12.2004 0:49
volvo   Guest А по-моему, эта процедура писалась для случа...   9.12.2004 0:58


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.06.2025 10:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"