![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.08.2011
Сообщений: 24
|
![]()
Мне нужно сделать так, что бы данные о координатах 9 прямоугольников, которые находятся в структуре, перемешались случайным образом, т.е. перемешиваются прямоугольники в структуре. Подскажите, как это сделать с помощью функции random или существуют другие методы?
Последний раз редактировалось Mehanizator; 11.08.2011 в 11:35. Причина: тема немного не соответствует правилам |
![]() |
![]() |
![]() |
#2 |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
![]()
пусть есть N прямоугольников.
задаешь случайное число от 1 до N. добавляешь его(прямоугольник с данным номером) в новый массив, из исходного массива удаляешь данный прямоугольник, далее генерируешь число от 1 до (N-1). аналогично добавляешь его в новый массив-структуру и удаляешь из исходного. и так организуешь цикл пока исходный массив не будет пуст. структуру проще организовать как массив объектов или записей
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
Последний раз редактировалось MadReason; 11.08.2011 в 11:03. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.08.2011
Сообщений: 24
|
![]()
получается, что у нас всегда они будут одинаково перемешаны, т.е. при повторном запуске, они перемешаются таким же образом.
|
![]() |
![]() |
![]() |
#4 |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
![]()
почему же? как я понял среда eclipse, язык си-образный. должна быть там функция инициализации генератора случайных чисел, поэтому каждый раз последовательность номеров, выбираемых из структуры, будет разной.
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1)
Цитата:
Генератор случайных чисел нужно инициировать при запуске. (в Pascal/Delphi это метод Randomize, например) на то это и СЛУЧАЙНЫЕ числа, чтобы каждый раз они выдавали различную последовательность! 2) код у Вас отвратительный. ![]() Вы хоть быть в константный массив вытащили координаты.. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Чтобы они перемешивались каждый раз в случайном порядке используйте
Код:
Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.08.2011
Сообщений: 24
|
![]()
согласен, код корявый немного, но как еще задать координаты 9 прямоугольников..и у нас же по сути ничего не изменится, если мы перенесем в константный массив.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 11.08.2011
Сообщений: 24
|
![]()
У меня была вот какая идея...у меня координаты будут меняться только по y. Каждой линии можно присвоить порядковые номера. Выбираем 1ый номер линии которую хотим заменить, а 2ой номер линии, на которую заменяем. И координаты по y первой полоски заменяются на координаты 2ой полоски. Возможен ли такой вариант?и как будет выглядеть функция замены?
|
![]() |
![]() |
![]() |
#9 |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
![]()
уточни что за "линии"? если это линии флага, как было сказано в прошлой теме, то я вообще не понимаю зачем тебе какие-то прямоугольники и их перемешивание. рисуй обычный трехполосный флаг, а меняй только цвета заливки каждого прямоугольника.
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 11.08.2011
Сообщений: 24
|
![]()
Перемешивание нужно потому, что я делаю игру, где игрок должен собрать флаг нужной страны. А весь флаг мы разбиваем на 9 полосок, которые должны быть перемешаны случайным образом
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как отобразить в таблице (на форме) все файлы которые находятся в определённой папке? | mojohead | Помощь студентам | 10 | 05.04.2011 10:48 |
Как получить иконки которые находятся в трее?? | Paul Hindenburg | Общие вопросы Delphi | 5 | 21.10.2010 19:46 |
Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–1, 16] | Mirel | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 04.04.2010 10:58 |
Как скопировать диапазоны которые находятся на равном растояние друг от друга... | Алексей11111 | Microsoft Office Excel | 12 | 15.11.2009 02:34 |
Не правильно считает сумму чисел, которые находятся в файле. | TheWanderer | Общие вопросы C/C++ | 6 | 17.04.2009 18:43 |