![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
AlexPS |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Чуваки, помогите пжалуйста.
Мне нужна процедура перемнодения двух матриц разного порядка, например 5Х3 на 3Х5. А везде, где искал, только перемножение квадратных матриц. ![]() -------------------- @13][ P.$.
www.alex-ps.com |
![]() ![]() |
volvo |
![]()
Сообщение
#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. |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 10:06 |