![]() |
|
|
#1
|
||||
|
||||
![]() У меня одномерный массив, состоящий из 15 элементов. Мне нужно прогенерировать каждый элемент массива в интервале от 1 до 20, и при этом ни один из элементов не должен повторяться.
С генерацией у меня нет проблем, но головная боль начинается когда мне надо проверять эти элементы, мне что - придётся каждый элемент сравнивать с другими, это же кошмар ![]() |
#2
|
||||
|
||||
![]() Ну 15 элементов это еще не кошмар ))
Так что ничего страшного в этом нет, сравнивай и если такого нет - добавляй. А вообще для списков есть процедура DistinctList - фильтрует список, чтобы элементы не повторялитсь. Код:
// DistinctList procedure DistinctList(AllList: TStrings); var Filtered: TStringList; begin Filtered:=TStringList.Create; Filtered.Duplicates:=dupIgnore; Filtered.BeginUpdate; Filtered.Sorted:=true; Filtered.AddStrings(AllList); AllList.Clear; AllList.Assign(Filtered); Filtered.EndUpdate; Filtered.Free; end; DistinctList(ListBox1.Items); |
#3
|
||||
|
||||
![]() Ну со списками я, то не работаю, но мне интересно - как это он фильтрует. А если в этом списке есть повторяющиеся элементы, то что тогда он будет делать, или мне что делать?
![]() ![]() ![]() ![]() |