Помощь - Поиск - Пользователи - Календарь
Полная версия: Помехоустойчивое кодирование
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
18192123
Здравствуйте!
Реализовываю алгоритм Хемминга кодирования, декодирования и локализации однократных ошибок.
Имеются процедуры для получения проверочной матрицы H, матриц Ht, P, Gx.

createH();
createHt();
createP();
createGx();


Но в этом трудностей нет.

char H[r][n],Ht[r][k],P[k][r],Gx[k][n];
int masP[r+1]={0};
int mas[n-r]={0};
struct emcryption
{
char *m;
char *u;
};
emcryption Em={0};
createH();
createHt();
createP();
createGx();
Em.m=Edit1->Text.c_str();


Проблема в другом: когда добавляю считывание 4-х значного кода из Edit, то некоторые элементы полученных ранее матриц затираются..Без этого момента отрабатывает, как нужно.

Не пойму, в чём дело..Помогите, пожалуйста, разобраться!

Ниже полный код.
volvo
А можно - поконкретней? Что именно и в какой момент затирается? Как воспроизвести ошибку?
18192123
Цитата(volvo @ 17.04.2009 23:34) *

А можно - поконкретней? Что именно и в какой момент затирается? Как воспроизвести ошибку?

Вводим в Edit1 код, например - 1011 (рис.1)
При трассировке видно, что появляются какие-то совершенно лишние символы "p".. (рис.2)
Ну а если в коде основной процедуры нет ничего, кроме вызова процедур получения нужных матриц, то все 0 и 1 на месте.. (рис.3)

Перекодировал файлы в PNG - больше чем 10-кратное уменьшение размера
volvo
Цитата
Ну а если в коде основной процедуры нет ничего, кроме вызова процедур получения нужных матриц, то все 0 и 1 на месте..
Правда?
Нажмите для просмотра прикрепленного файла

А вот объяснение происходящего, которое выдает CodeGuard:
Нажмите для просмотра прикрепленного файла
(у тебя банальный вылет за границу массива, отсюда и такие результаты. Перепроверяй индексы...)
18192123
Спасибо!!
Поправила индексы - получилось)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.