![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 16.06.2008
Сообщений: 16
|
![]()
Задача такая были 2 двухмерных массива(одинаковой размерности) с большим количеством нулей. Их упаковали в три одномерных массива: в первом номера строк, во втором номера колонок, в третьем значения. Необходимо произвести умножение упакованых массивов как матриц(т.е. строка на колонку и сложение) Могу привести пример сложения этих же матриц
Цитата:
Последний раз редактировалось Frog25; 18.06.2008 в 00:05. |
|
![]() |
![]() |
![]() |
#2 |
Пользователь Подтвердите свой е-майл
Регистрация: 30.05.2008
Сообщений: 96
|
![]()
Желательно весь код выложить. Очень трудно понять суть кода, когда не все переменные определены. Непонятно какой смысл имеют многие переменные. И желательно подробна рассказать, как упакованы 2-х мерные массивы (Непонятно как их упаковывали, чтобы можно было потом распазнать, какое значение относиться к какому массиву).
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.06.2008
Сообщений: 16
|
![]()
разработать приложение , позволяющее упаковывать и распаковывать значения матрицы и выполнять заданые действия с упакованой матрицей. В приложении необходимо обеспечить: 1.Формирование 2-х двухмерных массивов с задаными размерами, 2. Заполнение случ. числами, но с большим количеством нулевых значений; 3. Выполнение упаковки и распаковки этих массивов: не нулевые значения матриц и их координаты сохранять в 3-х одномерных массивах; 4. отображение значений упакованых массивов; 5. Выполнение сложения и умножение массивов в упакованом виде с последующей коррекцией упаковки; 6. Сохранение в файле значений исходных и упакованых массивов.
К предидущему посту причепил файл с полным кодом. |
![]() |
![]() |
![]() |
#4 |
Пользователь Подтвердите свой е-майл
Регистрация: 30.05.2008
Сообщений: 96
|
![]()
Алгоритм конечно никудышный, но я старался твоим методом сделать.
Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 16.06.2008
Сообщений: 16
|
![]()
Спасибо сейчас попробую.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.06.2008
Сообщений: 16
|
![]()
Чегото всё равно нето.
В распакованом виде былобы примерно так: for(i=0;i<nrow;i++) for(j=0;j<ncol;j++) {int sum=0; for(k=0;k<nrow;k++) sum+=m1[i][k]*m2[k][j] m3[i]j[j]=sum; } а тут я даже незнаю как заставить в одном месте образовывать строку а в другом столбец(( |
![]() |
![]() |
![]() |
#8 |
Пользователь Подтвердите свой е-майл
Регистрация: 30.05.2008
Сообщений: 96
|
![]()
Это у вас появляется всегда, когда не делается первоначально инициализация и упаковывания. Так что нужно делать эти пункту перед суммированием или умножением либо поставить проверку. Покажите как вы организовали вывод массива. Вобщем весь код еще раз.
|
![]() |
![]() |
![]() |
#10 |
Пользователь Подтвердите свой е-майл
Регистрация: 30.05.2008
Сообщений: 96
|
![]()
Вот например результат если все сделать как я говорил (в не распакованном виде)
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь | KpeHDeJIb | Помощь студентам | 4 | 04.07.2008 11:52 |
Паскаль. Помогиет с умножением массивов | set | Помощь студентам | 2 | 20.11.2007 14:49 |
Нужна помощь! | Teodor_Bagwell | Общие вопросы Delphi | 6 | 11.02.2007 16:45 |
Нужна помощь | londoner | Общие вопросы Delphi | 2 | 05.02.2007 14:23 |