![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.03.2013
Сообщений: 79
|
![]()
Найти произведение двух симметричных матриц А и В. Матрицы хранятся в одномерных массивах, где построчно записаны элементы, стоящие не ниже главной диагонали.
В общем не понимаю вообще, как реализовать 2 предложение в задачи. К примеру из 2 массивов(допустим заполненных случайными числами) получается так(ниже код) матрица насколько я понимаю, значит нужна ещё 1 такая же и умножить их соответственно. Вот только, как реализовать это: "где построчно записаны элементы, стоящие не ниже главной диагонали". Помогите написать задачу, кому не сложно. Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.05.2013
Сообщений: 10
|
![]()
Ну если ты изначально вводишь матрицу, которая потом преобразуется в массив, то я бы так делала:
Код:
Ну а перемножение в таких массивах думать надо. Надеюсь, что правильно поняла задание. |
![]() |
![]() |
![]() |
#3 | ||
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Код:
У меня матрица хранится в виде одномерного массива, причем только элементы, расположенные не ниже главной диагонали, т.е.: Цитата:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 19.05.2013 в 14:45. |
||
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Объясняю: для симметричных матриц нет необходимости хранить всю матрицу в двумерном массиве, так как:
1 2 3 2 5 6 3 6 4 Как видим, элемент [2,1]=[1,2], [3,1]=[1,3] и тд - в общем виде: [i,j]=[j,i]. Таким образом, все элементы ниже главной диагонали будут всего лишь дублировать элементы выше нее. Для данной в примере матрицы одномерный массив запишется так: [1,2,3,5,6,4] при порядке матрицы n=3.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 04.03.2013
Сообщений: 79
|
![]()
Что нужно сделать теперь понимаю, но все равно не получается из одномерного массива получить такую матрицу(просто не понимаю, что с ним делать то).
Помогите с частью данного кода пожалуйста. |
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Чем Вас не устраивает код из моего поста выше?
Кстати, программа работала неправильно. Исправлена. http://ideone.com/adRU5x
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 19.05.2013 в 14:47. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.03.2013
Сообщений: 79
|
![]()
Там С++, а я его ещё даже не начинал проходить, поэтому на С переписать не могу. Не могли бы вы написать часть кода формирования матрицы из одномерного массива на С, если не сложно.
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти произведение двух двумерных массивов A и B | Falman | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 23.05.2012 12:04 |
Найти матрицу, представляющую собой сумму двух данных матриц | lokomotiv | C# (си шарп) | 0 | 17.12.2011 14:34 |
Обращение матрицы методом разложения её на произведение двух треугольных(найти ошибку в коде) | Monomah | Общие вопросы C/C++ | 0 | 20.02.2011 18:35 |
Найти произведение первых трёх наибольших элементов Матриц - паскаль | Sandrewz | Помощь студентам | 4 | 15.10.2010 20:25 |
Произведение двух матриц | 010 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 03.06.2008 11:33 |