1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
есть задача: Дано две квадратические матрицы 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) ; } } } ...
но єто маразм какой то получаеться
Сообщение отредактировано: Димас -
Эскизы прикрепленных изображений
--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
Почему же маразм? Все правильно получается, хотя можно и короче:
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), хотя в условии этого не оговорено.)
я вот посмотрел как матрицы умножаютмя на: Википедиа (там написано Умножение матриц не коммутативно!) я понимаю как матрицы умножаются на "бумаге" . но не могу сделать алгоритм ...
Эскизы прикрепленных изображений
--------------------
Каждый человек , которого я знаю встречаю, превосходит меня в какой нить области, и я готов у него этому учится:)
Почему неправильно? "Какие Ваши аргументы" (С), как говорится? Что не так в программе?
Вы абсолютно правы... (мои аргументы были ошибочными ) просто я не до конца понял как работает алгоритм, только что взял расписал все на бумаге, оказалось что все работает