![]() |
|
|
Регистрация Восстановить пароль |
|||||||
| Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
||||
![]() |
|
|
|
Опции темы | Поиск в этой теме |
|
|
#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 |