![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 16
|
![]()
Здравствуйте. Помогите пожалуйста. Нужно получить числа от 1 до 100 в хаотическом порядке, так чтобы они не повторялись... Тоесть в итоге должно быть 100 чисел, но ниодно из них не должно повторяться...Это как то в рандом реализуется?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 16
|
![]()
А почему он выдает всегда 99 на 1 или 2ое место?
Кстати если не трудно подскажите почему у меня не получается: Код:
|
![]() |
![]() |
![]() |
#4 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]()
вот
Код:
VirusN13
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 16.11.2010
Сообщений: 46
|
![]() Цитата:
2 ArtGrek - то же самое. 2 _SERGEYX_: А можно пояснить в 2х словах, как именно перестановки памяти эти работают? ![]()
Бложегов не имею, но найти меня можно в уютном междусобойчике тут: http://coverduck.ru
"Форум программистов, анархистов, анонимусов и просто любителей с интересом пообщаться" Последний раз редактировалось Genco; 15.12.2010 в 01:10. Причина: Ремарка |
|
![]() |
![]() |
![]() |
#6 | |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]()
сорри поправочка
Код:
Цитата:
VirusN13
Последний раз редактировалось Stilet; 15.12.2010 в 10:29. |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 16.11.2010
Сообщений: 46
|
![]()
Не поленись - скопируй к себе и запусти))
1) IntToStr(a)=Memo1.Lines[j] - проверка не выполняется, ты данные добавляешь ниже через дефис, всегда False тут 2) алгоритм неоптимален, повторяю: последние числа значительно дольше подбираются,если проверку правильную поставить. Потому что компьютер угадывает 2-3 "нужных" числа из 100. _SERGEYX_ вообще полностью соптимизированный под память вариант привел, хотя и немного крутоватый) Нужен список/набор элементов от 1 до 100: выбрать случайный,потом удалить из рассмотрения. И так 100 раз. //------------ repeat тоже подойдет,да, я про это. Ща мб гляну у себя искомую идею,в кривом варианте Это в общих чертах пример со списком. Имеет смысл, когда в массиве/наборе что-то посложнее, чем просто целые числа. Только ещё надо использовать TList с указателями, как положено - просто поленился писать посреди ночи, а готового у себя не нашел. Код:
Код:
Бложегов не имею, но найти меня можно в уютном междусобойчике тут: http://coverduck.ru
"Форум программистов, анархистов, анонимусов и просто любителей с интересом пообщаться" Последний раз редактировалось Stilet; 15.12.2010 в 10:39. |
![]() |
![]() |
![]() |
#8 | |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]() Цитата:
Код:
Код:
VirusN13
|
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
На первом же шаге вылет за пределы массива: чему будет равно 100-l при l=0 ? 100 ? d[f] := d[100] ? а верхний индекс массива равен 99 - отсюда - range error... я уже не говорю о такой "мелочи", как то, что вы в массив заносите циферки от нуля до 99, а по условиям задачи требуется от 1 до 100. короче, последний вариант - явно не зачёт.. но идея, как мне кажется, вполне себе нормальная, при желании можно довести до ума... А вообще потрясает, как для решения такой простой задачи (кстати, на форуме решалась эта задача многократно) возникает столько вариантов решения и такое бурное обсуждение... |
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 21.01.2008
Сообщений: 211
|
![]()
2ArtGrek
вылет за пределы массива: 128 |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как к числу прибавить проценты 90 + 10% и получить 100. а не 99. | il_il | Microsoft Office Excel | 30 | 21.07.2012 02:42 |
Числа в порядке убывания | skiffter | Общие вопросы C/C++ | 10 | 14.09.2010 15:34 |
Вывести числа в обратном порядке | asmcc | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 14 | 20.02.2010 11:46 |
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m | Sparky | Помощь студентам | 2 | 22.11.2009 21:59 |
Числа от 1 до 100 и обратно | Винни пух | JavaScript, Ajax | 6 | 05.05.2009 17:22 |