
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.82] |
![]() |
|
Сообщ.
#1
,
|
|
|
Шахматная доска рассматривается в виде квадратного символьного массива размером 8x8.
С клавиатуры вводятся натуральные числа v1 и g1, что обозначают номера вертикали (по счету слева направо) и горизонтали (по счету снизу вверх) для поля, на котором стоит белая шахматная фигура, и числа v2 и g2, указывающие соответствующие координаты второй, черной, фигуры. Определить поля, на которые может пойти первая фигура таким образом, чтобы не попасть под удар второй. Предусмотреть возможность ввода данных о такие фигуры: ладья, ферзь, конь. Тип фигуры задается пользователем соответственно буквами: Т, Ф, К. После ввода данных о каждой из фигур вывести на экран шахматную доску, обозначая на ней соответствующими буквами позиции заданных фигур, символом ‘*’ – позиции, на которые может быть перемещен первую фигуру, символом ‘x’ – позиции первой фигуры, которые находятся под ударом, а символом ‘.’ все остальные ячейки. Предусмотреть возможность рассмотрения нескольких ситуаций в процессе работы программы. Заранее спасибо. |
Сообщ.
#2
,
|
|
|
Язык c++.
|
Сообщ.
#3
,
|
|
|
Просто делаете две матрицы: достигаемые поля фигуры А, и такие же поля фигуры Б. Потом пробегаете всё поле и смотрите куда поставить А, дабы не было пересечений полей матриц.
|
Сообщ.
#4
,
|
|
|
Цитата Славян @ Просто делаете две матрицы: достигаемые поля фигуры А, и такие же поля фигуры Б. Потом пробегаете всё поле и смотрите куда поставить А, дабы не было пересечений полей матриц. Я вот нашел старенькую тему с другого форума: http://www.cyberforum.ru/turbo-pascal/thread331845.html Но не могу понять, против какой фигуры там идет проверка? Там же вводятся координаты только одной фигуры... |
Сообщ.
#5
,
|
|
|
Да не надо ворошить что-то иное. Просто начинайте писать своё, а мы то уж посмотрим, какие у вас всплывают ошибки, и подскажем, как поправить!
![]() |