Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];

Вниз

Помогите написать функцию   Найти похожие ветки 

 
neveGreen   (2008-12-30 15:51) [0]

Есть массив элементов типа Integer
 SetLength(MyArr, 4);
 MyArr[0] := 2;
 MyArr[1] := 7;
 MyArr[2] := 4;
 MyArr[3] := 1;

Надо функцию которая будет возвращать поочередно
0 элемент, поом
01 потом
02
03 потом
10
12
13
....
102
...
321
....
0123
короче все комбинации с одним двумя тремя и четырмя количеством элементов так чтобы они не повторялись. Заранее благодарю


 
Сергей М. ©   (2008-12-30 15:53) [1]

Это что , лаба ?


 
DevilDevil   (2008-12-30 15:54) [2]

не понял принцип


 
clickmaker ©   (2008-12-30 16:07) [3]

> Это что , лаба ?

это подбор пин-кода
o)


 
Сергей М. ©   (2008-12-30 16:16) [4]

Похоже)


 
inviz   (2008-12-30 16:33) [5]

у нас преподаватель в колледже когда на курсах повышения квалификации был, он такие алгоритмы разрабатывал, точно помню он показывал. Это алгоритмирование по программе обучения в университетах тока забыл как называется...


 
neveGreen   (2008-12-30 21:08) [6]

Это перебор комбинаций массива. Пин код не катит потому что в пине могут быть комбинации 1112 а тут ни в одной комбинации нет повторяющихся элементов. Это реальная задача по поиску комбинаций а не лаба, ну можно и лабу конечно сделать такую.
Вобщена надо взят первый индекс допустим, и перебрать все комбинации с 1 в начале начиная от комбинации "1" и закнчивая "1742" потом взять комбинацию "2" которая завершится "2741" и тд. Но это в алфавитном порядке, но можно и не в алфавитном генерируя последовательно индексы и записывая их в другой динамический массив длинна которого постепенно увеличиться с 1 до 4, для данного случая:
0, 1, 2, 3, 01, 10, 02, 20, 03, 30, 12, 21, 13, 31, 23, 32,  012, 021..... и тд.


 
Jeer ©   (2008-12-30 21:26) [7]

Кто тебе мешает ?
Делай как желаешь.


 
DVM ©   (2008-12-30 21:40) [8]


> neveGreen

задача элементарная же, ну подумал бы сам что ли


 
neveGreen   (2008-12-30 22:29) [9]

да я понимаю что элементарная...только моя голова не очень может ее разложить... надо кусок в функции вызвать рекурсией но не могу никак сообразить. помогите плиз...


 
neveGreen   (2009-01-02 15:48) [10]

Что никто не поможет? Есть вариант генерировать все комбинации и в это же время проверять на повторяющиеся элементы и исключать эти комбинации, но это очень долго....


 
neveGreen   (2009-01-03 02:25) [11]

Как Вы думаете что будет быстрее

> neveGreen   (02.01.09 15:48) [10]

или для каждого размера динамического массива от 1 до четырех, тоесть для его элемента(ов), находить все подмножества множества элементов исходного массива, и для каждого  такого подмножества получать все перестановки?


 
Германн ©   (2009-01-03 02:32) [12]


> neveGreen   (03.01.09 02:25) [11]
>
> Как Вы думаете что будет быстрее
>

Да что тут думать! Надо трясти!
(с) Анекдот из советских времён.


 
neveGreen   (2009-01-03 02:41) [13]


> Надо трясти!

Да тут хоть бы трясочек сделать...


 
Нат   (2009-01-03 02:52) [14]

Были такие кодовые замки на парадных, где одновременно надо нажать 2..4 цифры, чаще всего их программировали на 3 цифры.
Та самая задача.
Никогда не подбирал на морозе?
Всего на пару минут делов.


 
Германн ©   (2009-01-03 02:56) [15]


> neveGreen   (03.01.09 02:41) [13]
>
>
> > Надо трясти!
>
> Да тут хоть бы трясочек сделать...
>

Ну так тряси! Кто тебе мешает?


 
neveGreen   (2009-01-03 03:00) [16]


> Германн ©   (03.01.09 02:56) [15]

никто не мешает. Я же спрашиваю для того чтобы возможно вообще ничего не трясти, вдруг ктото сталкивался с такой проблемой и уже знает ответ, что тут не понятного?


 
MBo ©   (2009-01-03 15:26) [17]

Воспользуйся множествами и рекурсией


 
neveGreen   (2009-01-03 20:19) [18]

Самое трудное сделать это функцией, тоесть чтобы функция на основе предыдущего значения делала следующее - вот это труба....


 
Нат   (2009-01-04 03:01) [19]

Решите сперва частную задачу - перебор вариантов для двух знаков.
Для 1 знака варианты и так понятны.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
3-1212053897
Сергей
2008-05-29 13:38
2009.02.15
Почему не работает сей запрос? ADO + MsAccess


15-1229754617
SPeller
2008-12-20 09:30
2009.02.15
Когда омона и милиции столько же, сколько митингующих


4-1205580795
Леха
2008-03-15 14:33
2009.02.15
Ловушки(Hook)


2-1230648345
Nameziz
2008-12-30 17:45
2009.02.15
ReleaseDC


15-1229554836
Sergius P
2008-12-18 02:00
2009.02.15
Разгроничение скорости по ЛС





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский