1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Sideful |
25.10.2007 17:24
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Александр Репутация: 0 |
ситуация такая
есть задача, условие которой - вывести на экран все перестановки чисел от 1 до n, без повторов есть полностью рабочий код, но с одним небольшим, но существенно непонятным моментом огромная просьба пояснить, каким образом строятся и выводятся на экран подстановки ниже привожу код программы, часть требующую пояснения выделяю жирным шрифтом program perestanovki; заранее спасибо! Сообщение отредактировано: Sideful - 25.10.2007 17:41 |
![]() ![]() |
| volvo |
25.10.2007 18:07
Сообщение
#2
|
|
Гость |
Обычный переборный алгоритм с возвратом: для того, чтобы перебрать все комбинации, используется массив чисел и массив Boolean-ов, который показывает, задействовано ли уже число в соответствующей позиции, или еще нет...
Перед изменением элемента помечаем его, как задействованный, далее - рекурсивный вызов самой процедуры Print (в которой заполнение продолжается, пока не будут использованы ВСЕ числа), после возврата из рекурсии - снимаем отметку о том, что данный элемент задействован (т.е, возвращаемся к первоначальному состоянию). Для того, чтобы понять это - надо понимать, что такое рекурсия, и как она работает... Ты это знаешь? |
Sideful Просьба пояснить код программы 25.10.2007 17:24
volvo Жирным шрифтом не выйдет - выделяй комментариями..... 25.10.2007 17:33
Sideful готово :) 25.10.2007 17:41
Sideful Ну как я понимаю, есть исходный массив чисел, на е... 25.10.2007 18:22
volvo Не путай локальные переменные с глобальными... В д... 25.10.2007 18:40
Sideful тогда понятно
спасибо огромное за помощь:) 25.10.2007 18:53![]() ![]() |
|
Текстовая версия | 8.12.2025 11:03 |