|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2010, 17:24 | #1 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Некорректная работа программы при формировании массива
Здравствуйте!
Имеется массив p_Q_v[q*(deg-1)+1][deg]. Он заполнен какими-то данными до строки deg-1 включительно. Нужно найти след строки по следующему правилу: Например: известная часть массива p_Q_v 1 2 3 1 2 1 1 4 1 <- (deg-1) к примеру, массив p_cut[deg-1] имеет вид {1, 2, 3} тогда строка deg в искомом массиве p_Q_v будет иметь вид : 1*1+1*2+3*1 = 6 <- 1 элемент 2*1+2*2+4*3 <- 2 элемент 3*1+2*1+1*3 <- 3 элемент строка deg+1 будет получена тем же способом, но уже в качестве первой строки будет взята не 1 2 3, а 1 2 1, а в качестве последней - полученная на предыдущем шаге. Код:
|
22.04.2010, 18:03 | #2 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
Т.е. он считает некоторое количество строк правильно, и вдруг с какой-то определённо начинает работать неверно? Если так, то надо посмотреть весь код, т.к. описанный алгоритм простой и вроде реализован правильно, скорее всего проблемы в другом месте.
|
22.04.2010, 19:14 | #3 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Спасибо, что помогаете)
Это, собственно говоря, не реализованный пока алгоритм Берлекэмпа по разложению многочленов над полями GF(q), где q=2 или q=3 Код:
|
22.04.2010, 19:19 | #4 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
сам по себе алгоритм вообще не важен, зачатки моего кода реализовывают его по логике правильно, а возможное место глюка помечено соответствующими комментариями
|
22.04.2010, 19:25 | #5 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
Хм... А при каких входных данных наблюдаются глюки? И с какой строки начинаются? И если ввести идентичные входные данные, начиная с той же самой строки появляются глюки? И вообще, в чём они проявляются?
|
22.04.2010, 19:32 | #6 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Матрица p_Q всегда формируется неверно, это как раз скорее всего из-за того места, которое обозвано глючным куском)) Это в методе make_Q, там комментарий соответствующий у начала этой строки. Ошибок нет, вылетов тоже. Это скорее всего не глюк, а не корректная работа вот сего:
Код:
Ну вот, например, если ввести многочлен 12 степени 1010001110001, то матрица p_Q должна иметь вид , а она такая . Это происходит как раз из-за того куска, который обозван "глючным" в комментариях. В нем по идее должно все строиться так, как написано в 1 сообщении, но еще добавлено приведение по модулю q Последний раз редактировалось @Manya@; 22.04.2010 в 19:47. Причина: Дополнение до полного ответа |
22.04.2010, 20:38 | #7 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
Если я правильно понял условие, то q - длина строки в матрице p_Q_v (а также длина вектора p_cut), deg - номер искомой строки (которую надо вычислить). Тогда, мне кажется, правильный алгоритм такой:
Код:
Почему то у меня нехорошее чувство, что я недопонял условие))) |
22.04.2010, 20:44 | #8 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Не))
q - это просто некоторая константа, которая может быть равна 2 или 3. Она тут в принципе вот в этой части кода большой роли не играет. Длина строки p_Q_v есть deg, длина вектора p_cut есть deg-1. А сам p_Q_v[q*(deg-1)+1][deg]. Ну а deg и правда номер искомой строки, но только на самом первом шаге, потом-то он увеличится на одЫн Последний раз редактировалось @Manya@; 22.04.2010 в 20:47. |
22.04.2010, 20:47 | #9 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
А сколько изначально известно строк из матрицы p_Q_v? Тоже deg - 1?
|
22.04.2010, 20:49 | #10 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 17
|
Ага. Точно так
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
mkfifo, некорректная работа (Линукс) | IceBreaker | Помощь студентам | 4 | 21.03.2012 13:34 |
чужое MDE приложение при формировании отчёта(экспорта) создаёт DBF с проставленной кодовой страницей 0x26 | Serge_Bliznykov | Microsoft Office Access | 5 | 17.01.2011 17:26 |
Некорректная работа Ucoz.ru | docbrain | WordPress и другие CMS | 7 | 31.03.2010 11:26 |
Некорректная работа функции в потоке. | TwiX | Общие вопросы Delphi | 3 | 28.02.2010 12:33 |
Некорректная работа потока | 3D Hunter | Общие вопросы Delphi | 7 | 09.03.2009 10:51 |