Как хранить таблицу перестановок

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Zenitchik
Постоялец
Постоялец
 
Сообщения: 369
Зарегистрирован: 21.12.2006 (Чт) 14:48

Как хранить таблицу перестановок

Сообщение Zenitchik » 26.06.2008 (Чт) 20:15

Пардон, если неправильно обозвал.
Нужно реализовать обратимую целочисленную функцию, задаваемую таблицей.
Грубо говоря, нужно хранить пары чисел (X; Y), и находить как Y по X, так и X по Y.
X - целое неотрицательное, Y - целое.
В общем, что-то вроде расширения перестановочной матрицы.

По идее, можно сделать массив Y(X), а обратную функцию реализовывать перебором, но мне интересно, нельзя ли поступить умнее?
Знание английского языка - затрудняет понимание кода

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 26.06.2008 (Чт) 21:41

Подробнее об особенностях X и Y.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.06.2008 (Чт) 23:03

Таблица большая? Функции непрерывные или кусочно заданные? Область определения задана в таблице равномерно?

Если небольшая, то можно в принципе хранить два массива X(y) и Y(x).

Zenitchik
Постоялец
Постоялец
 
Сообщения: 369
Зарегистрирован: 21.12.2006 (Чт) 14:48

Сообщение Zenitchik » 26.06.2008 (Чт) 23:07

Значения X - множество всех целых чисел от 0 до N. N в ходе выполнения программы может увеличиваться, но редко, можно в расчет не принимать.
Значения Y - объединение множества всех целых чисел от 0 до M и произвольное множетсва отрицательных целых чисел (в том числе отрицательных).
Зависимость Y от X не имеет какого-либо выраженного характера и задается таблицей (ее правит юзер в ходе работы программы).
Знание английского языка - затрудняет понимание кода

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 26.06.2008 (Чт) 23:10

Ты забыл сказать о главном: о непрерывности.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Zenitchik
Постоялец
Постоялец
 
Сообщения: 369
Зарегистрирован: 21.12.2006 (Чт) 14:48

Сообщение Zenitchik » 26.06.2008 (Чт) 23:14

Извните. Я привык к математике: непрерывность указана неявно (словом всех).
Множество X - непрерывно.
Неотрицательная часть множества Y - тоже непрерывна, а отрицательная - этим свойством не обладает.

Хотя, я думаю, что смогу обеспечить непрерывность и в отрицательной части. А что Вы хотите предложить?
Знание английского языка - затрудняет понимание кода

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 26.06.2008 (Чт) 23:17

1 1
2 2
3 3
4 -65
5 -4

или

1 1
2 -105
3 2
4 -57
5 3

?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Zenitchik
Постоялец
Постоялец
 
Сообщения: 369
Зарегистрирован: 21.12.2006 (Чт) 14:48

Сообщение Zenitchik » 26.06.2008 (Чт) 23:22

Оба варианта имеют права на жизнь и не исчерпывают возможных случаев.
Никакой закономерной зависимости между X и Y нет. Порядок нумерации не совпадает (в ходе работы Y регулярно меняются местами). Это все-таки матрица перестановок, только расширенная в отрицательную область.
Знание английского языка - затрудняет понимание кода


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

    TopList