есть задача: Дано две квадратические матрицы A и D, (n = 3) . Вычислить Матрицу: C = A * B + D * A , где элементы матрицы B делаются за формулою , Умножения матрицы на матрицу сделать у виде подпрограммы.
единственное что не ясно с задачи - как сделать матрицу B ?
думал так вот:
const int n = 3; ... for (int i = 0 ; i < n; i++) { for (int j = 0 ; j < n; j++) { if ( i < j) { arrayB[i][j] = 1 / (i + j -1) ; } else { arrayB[i][j] = 1 / (i + j + 1) ; } } } ...
но єто маразм какой то получаеться
volvo
4.12.2007 3:25
Картинку присоедини к посту, она не открывается: "You don't have permission to access /lab12.GIF on this server."
Димас
4.12.2007 3:43
Цитата(volvo @ 4.12.2007 0:25)
Картинку присоедини к посту, она не открывается: "You don't have permission to access /lab12.GIF on this server."
перезалил...
volvo
4.12.2007 4:54
Цитата
но єто маразм какой то получаеться
Почему же маразм? Все правильно получается, хотя можно и короче:
for (int i = 0 ; i < n; i++) { for (int j = 0 ; j < n; j++) { arrayB[i][j] = 1 / (i + j + (i < j ? -1 : 1)); } }
(непонятно, что будет с элементами главной диагонали, правда... В моем случае они будут считаться как 1 / (i + j + 1), хотя в условии этого не оговорено.)
Димас
4.12.2007 23:05
volvo , моя ошибка была в том что я матрицу B обявил как int , а там же получается надо например double ... но сделал я все таки вот так :
я вот посмотрел как матрицы умножаютмя на: Википедиа (там написано Умножение матриц не коммутативно!) я понимаю как матрицы умножаются на "бумаге" . но не могу сделать алгоритм ...
volvo
5.12.2007 0:55
Цитата
но дык, это ж не правильно ?!
Вот когда ты напишешь СВОЙ алгоритм - обязательно выложи его сюда, чтоб я тоже мог не глядя написать: "и это тоже неправильно!"
Почему неправильно? "Какие Ваши аргументы" (С), как говорится? Что не так в программе? Или "не читал, но осуждаю"?
Michael_Rybak
5.12.2007 1:14
Цитата(Димас @ 4.12.2007 19:49)
я понимаю как матрицы умножаются на "бумаге" .
понимаешь? объясни. это и будет алгоритм.
Димас
5.12.2007 1:30
Цитата(volvo @ 4.12.2007 21:55)
Или "не читал, но осуждаю"?
нет я не осуждаю а пытаюсь понять...
Цитата(volvo @ 4.12.2007 21:55)
Почему неправильно? "Какие Ваши аргументы" (С), как говорится? Что не так в программе?
Вы абсолютно правы... (мои аргументы были ошибочными ) просто я не до конца понял как работает алгоритм, только что взял расписал все на бумаге, оказалось что все работает