Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.10.2009, 09:18
Wadimka Wadimka вне форума
Прохожий
 
Регистрация: 27.10.2009
Сообщения: 12
Репутация: 10
По умолчанию Помогите реализовать алгоритм по поиску возможных значений

Например, есть массив чисел от 1 до 20.
Скажем, в это массиве заданы 5 чисел, ну например
элементы этого массива под номерами 5,6,7,10,11 заполненные 1, остальные имеют, скажем 0.
Нужно найти недостающие номера (в близи этих позиций)
т.е. найти все возможные варианты позиций, которые могли бы создать поседовательность, но обязательно включая часть этих чисел.
т.е. сейчас возможные варианты такие:
4,5,6,7,8 - найдены числа 4 и 8
5,6,7,8,9 - найдены числа 8 и 9
3,4,5,6,7 - найдены числа 3 и 4
9,10,11,12 - найдены числа 9 и 12
Это я для примера привел, массив может быть и больше, длинна найденной последовательности тоже может меняться, но в переделах одного прохода, так сказать, она фиксированная, т.е. напрмиер нужна последовательность только из 5-ти чисел, или только из 7-ми числе.
Единственное ограничение, максимум нужно добавить недостающих чисел, всего 2 к уже существующим, но не более.
Я уже всю ночь сижу, бьюсь над этим решением, никак не получается, даже в голову никакого решения не приходит и близко. Найти, допустим в массиве случайных заполненных чисел, возможна ли вообще какае-то последовательность, при добавлении 2-х чисел, легко... причем эту последовательность нужно искать лишь в случае ее отсутствия в указанном массиве.
Если она уже есть, то делать уже ни чего не нужно (ну это я тоже реализовал, это не сложно)
О и еще забыл добавить, в этом примере везде искомые были 2 числа, но может быть и 1 число, если последовательность стала равна 5-ти, допустим, имеем 2,4,5,6,7

2,3,4,5,6 - искомое число 3
1,2,3,4,5 - найдены 1 и 3
ну и т.д и т.п.
прошу помощи!
Ответить с цитированием
  #2  
Старый 27.10.2009, 13:24
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Если числа могут принимать значения только 1 или 0, тогда что-то мне подсказывает, что все это сводится к битовым операциям.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter