Расстановка шахматных фигур — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
(не показана 1 промежуточная версия этого же участника) | |||
Строка 2: | Строка 2: | ||
Алгоритм программы: | Алгоритм программы: | ||
− | + | #Выделяет память под доску MxN(динамическая матрица) | |
− | + | #Устанавливает каждую следующую фигуру на n-е свободное место которое он нашел после последней установленной фигуры, где n изменяется от 1 до бесконечности(установка заканчивается тогда, когда программа не может установить очередную фигуру). | |
− | + | #Счетчик количества фигур, которые необходимо установить, уменьшается на 1 после каждой установки. | |
− | + | #После того, как фигура установлена, программа рекурсивно вызывает функцию установки очередной фигуры(возвращается в пункт 2) | |
− | + | #В рекурсивную функцию отправляется только копия доски. Таким образом, возвращаясь из рекурсии, мы получаем доску без последующих установленных фигур. Когда счетчик фигур, которые необходимо установить, уменьшается до нуля, данное поле сохраняется в списке. | |
− | + | #Вывод списка. | |
− | Скачать работу можно [[http://spbstu.ru/:File:ПрограммаШахматы.zip здесь]] | + | Скриншоты работы программы: |
+ | |||
+ | |||
+ | [[File:рас.jpg]] | ||
+ | |||
+ | |||
+ | [[File:рас2.jpg]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Скачать работу можно [[http://tm.spbstu.ru/:File:ПрограммаШахматы.zip здесь]] |
Текущая версия на 16:12, 9 июня 2017
Исполнитель: Ляжков Сергей
Алгоритм программы:
- Выделяет память под доску MxN(динамическая матрица)
- Устанавливает каждую следующую фигуру на n-е свободное место которое он нашел после последней установленной фигуры, где n изменяется от 1 до бесконечности(установка заканчивается тогда, когда программа не может установить очередную фигуру).
- Счетчик количества фигур, которые необходимо установить, уменьшается на 1 после каждой установки.
- После того, как фигура установлена, программа рекурсивно вызывает функцию установки очередной фигуры(возвращается в пункт 2)
- В рекурсивную функцию отправляется только копия доски. Таким образом, возвращаясь из рекурсии, мы получаем доску без последующих установленных фигур. Когда счетчик фигур, которые необходимо установить, уменьшается до нуля, данное поле сохраняется в списке.
- Вывод списка.
Скриншоты работы программы:
Скачать работу можно [здесь]