![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Lik |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Есть задачка интресная. Нужно создать двух(трех)мерный действительный массив (можно не динамический) без одинаковых элементов. Плюс там еще куча всякой ерунды, но то уже не проблемма...
А вообще, зря тему закрыли (эт та, что в важных торчит ![]() |
Fire_Rage |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 26 Репутация: ![]() ![]() ![]() |
Ну как , если надо, чтобы разные числа, то берёшь одно какое-то число=р, а дальше идёшь циклом по массиву и заполняешь его р n-ый*х, где х-коэффициент, нужный тебе.
-------------------- QUI NON PROFICIT, DEFICIT(Кто не идёт вперёд, идёт назад)
|
Lik |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
В том то и загвоздка, что это не исключает повтор элементов... хотя это и мало вероятно. Вообще то задачка чуть сложнее... массив уже задан. Т.е. получается, что нужно найти два одинаковых элемента и один из них изменить так, что бы он при этом не совпадал с др. элементами.
|
Atos |
![]()
Сообщение
#4
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Только что в голову пришло: ищем максимальный в массиве элемент, запоминаем. Потом идём по массиву, начиная со 2 элемента ищем одинаковые элементы среди уже просмотренных. Если находим, то присваиваем одному из них значение макс. эл-та +1. Ещё находим одинаковые - присваиваем max+2 и т. д. Таким образом, новое значение гарантированно не совпадёт с другими, потому что будет больше их.
|
Lik |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Есть еще неплохая задачка на сортировку массивов. Никто про Конвеевскую игру жизнь не слышал ? Ну я думаю что кодеры с большим стажем должны были слышать о ней... А суть такая: есть двумерный массив, каждый элемент которого может принимать два значения 1 и 0, ну или др. какие захотите... так вот, значение ячейки изменяется в зависимости от окружающих ее элементов (примерно как в сапере), если соседних ячеек с элементом равным 1 меньше 2 (т.е. всего одна) либо больше 4, то значение выбранной ячейки обнуляется, если таких соседей 3, то ячейка приравнивается еденице.
Вот, вроде как ничего не напутал... |
Lik |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Хотелось бы реализовать, но проблемма с выводом результата...
|
Atos |
![]()
Сообщение
#7
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Lik, слушай, я не только слышал, но и очень долго увлекался этой игрой!
Год назад пробовал написать, вроде получилось, но тоже возникли проблемы с выводом результата, а потом какой-то другой задачей заинтересовался... Вообще - очень интересная тема. Где ты прочитал об этой игре? Я - у Мартина Гарднера в "Математических досугах", потом у него же в "Крестиках-ноликах" - там больще материала. Особо впечатлили "глайдерные ружья", которые раз в 30 ходов выстреливают из себя пятиклеточные фигурки, улетающие в бесконечность и "раэмножитель", да и вообще много дико интересного. Потом два раза видел {в энциклопедии и в компьютерном журнале} программки "Жизни", но не особо впечатлило. По-моему, можно оптимальнее сделать. Американские программисты нашли "Сад Эдема"- конфигурацию, которая по правилам игры не может получиться ни из одной другой. Так вот , я как-то думал над немного другой задачей. Допустим, дала нам конфигурацию(не очень большую) и задали найти все конфигурации, умещающиеся в прямоугольнике MxN, из которых на следующем ходу получается данная. То есть найти всех возможных "мам" ребёнка. Сложновато, но интересно. Самое главное - можно ли написать нерекурсивную процедуру? Можно, конечно, простым перебором, но тогда перебрирать 2^S, S - площадь прямоугольника. Цитата либо больше 4 Вернее - больше трёх. |
APAL |
![]()
Сообщение
#8
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(Lik @ 31.03.04 18:01) Хотелось бы реализовать, но проблемма с выводом результата... А можно поподробнее? В чем проблема м выводом рез-ов? Я помниться сам делал "Жизнь", у меня нормально все работало.... Сообщение отредактировано: APAL - 4.04.2004 9:32 -------------------- |
Atos |
![]()
Сообщение
#9
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Ну у меня проблема была, в общем-то, в моей лени и тогдашней неопытности.
Во-первых, хотелось сделать покрасивее, а с графикой я ещё не работал. Во-вторых, если действие игры происходит в ограниченном пространстве, то всё понятно , а вот сделать так, чтобы конфигурации могли развиваться практически бесконечно в разные стороны{пока пямяти хватит}, и к тому же их ещё было возможно нормально просматривать... Короче, я тогда так и забросил прогу, увлёкся реализацией консольного редактора таблиц... а жаль. Ну летом обязательно возьмусь, и чего-нибудь наколдую. APAL, а как ты выводил развитие игры? |
APAL |
![]()
Сообщение
#10
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(Atos @ 6.04.04 11:22) APAL, а как ты выводил развитие игры? Когда я задумался о выводе, то вспомнил одну настольную игру - ТОР. Правил не помню, да это и не важно, главное какое там используется поле... А оно представляет собой развертку... как думаешь чего?... правильно ТОРА! Это что-то вроде бублика, который разрезали в одном месте - получился цилиндре, а цилиндр разрезали вдоль - получился лист (квадрат/прямоугольник - на выбор), который и является полем для игры. Но самое главное - во время игры надо помнить, что все происходит "на бублике". Т.е. у этого поля нет граница, а это то что нам надо: Просто совмести края экрана левый с правым, и верхний с нижним - получится бублик! При выходе фигуры за правое поле, она будет появляться слева - надо только все правильноа просчитать. P.S.: Пока писал все выше приведенное, возникла мысль, что слово бублик можно заменить на шар.... если пренебречь искажениями... почти глобус... ![]() -------------------- |
Atos |
![]()
Сообщение
#11
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Ага, врубился... Правда, могут быть конфигурации настолько большие, что заполнят всё пространство, либо разлетающиеся на части, движущиеся в противоположные стороны(тогда они столкнутся), но для большинства случаев вполне пойдёт. И главное, интересная и нетрудная реализация. Спасибо за мысль.
А что, "Жизнь" больше никто не программировал? |
Fire_Rage |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 26 Репутация: ![]() ![]() ![]() |
Я программировал, получилось легко:
Если надо, пришлю по майлу. -------------------- QUI NON PROFICIT, DEFICIT(Кто не идёт вперёд, идёт назад)
|
Atos |
![]()
Сообщение
#13
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Пришли, пожалуйста, если не трудно. Интересно сравнить. Вообще игрушка интересная. В 70-х она разорила США на тысячи часов машинного времени. Игры - страшная сила
![]() |
Lik |
![]()
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(Atos @ 3.04.04 8:47) Где ты прочитал об этой игре? Я - у Мартина Гарднера в "Математических досугах"... А я у друга в тетрадке ![]() И проблему с тором тоже нас заинтересовала ![]() Код t:array[1..320,1..200] of byte; x:1..320; y:1..200; в х и у в итоге заработала цикличность ![]() Но с тором ерунда получилась, там все время стабильные системы появлялись в итоге... Получается, что теперь нужно ограничить время жизни точек ;) У кого какие предложения? |
APAL |
![]()
Сообщение
#15
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Можно сделать остановку процесса по нажатию какой либо клавиши и вручную, курсором затереть ненужные точки... ;)
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 15:21 |