Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Alinoska
1 / 1 / 0
Регистрация: 01.01.2013
Сообщений: 34
#1

Поле шахматной доски определяется парой натуральных чисел

26.01.2013, 20:14. Просмотров 2749. Ответов 2
Метки нет (Все метки)

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, e, f, каждое из которых не превосходит восьми. На поле (a, b) расположена белая фигура, на поле (c, d) -черная. Определить, может ли белая фигура пойти на поле (е, f ), не попав при этом под удар черной фигуры. Рассмотреть следующие варианты сочетаний белой и черной фигур:
a. ладья и ладья;
b. ладья и ферзь;
c. ладья и конь;
d. ладья и слон ;
e. ферзь и ферзь;
f. ферзь и ладья ;
g. ферзь и конь;
h. ферзь и слон ;
i. конь и конь;
j. конь и ладья ;
k. конь и ферзь;
l. конь и слон ;
m. слон и слон;
n. слон и ферзь ;
o. слон и конь;
p. слон и ладья;
q. король и слон;
r. король и ферзь;
s. король и конь;
t. король и ладья.
Во всех задачах ответ проверить на шахматной доске или на клетчатой бумаге.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 20:14
Ответы с готовыми решениями:

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слев
Ребяят хелп Поле шахматной доски определяется парой натуральных чисел,...

Поле шахматной доски
№1 Поле шахматной доски определяется парой натуральных чисел, не превосходящих...

Обход конем шахматной доски
Шахматный конь находится в левом верхнем углу шахматной доски размером NxM...

Алгоритм волны. Проход конем шахматной доски.
Есть небольшая проблемка в программе - выводит неправильно шоги коня,...

Написать программу, определяющую цвет клетки шахматной доски
Написать программу, определяющую цвет клетки шахматной доски. Справка:...

2
ermolay
3430 / 2369 / 2131
Регистрация: 04.12.2011
Сообщений: 3,965
27.01.2013, 09:17 #2
Alinoska, в решении должны быть описаны все варианты или только какое-то одно?
0
Puporev
Модератор
54354 / 41945 / 28978
Регистрация: 18.05.2008
Сообщений: 98,808
27.01.2013, 10:36 #3
Лучший ответ Сообщение было отмечено Alinoska как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
uses crt;
var a,b,c,d,e,f,i,nb,nc:integer;
function hod(n,x,y:integer):boolean;
begin
case n of
1:hod:=((abs(x-e)=1)and(abs(y-f)<=1))or((abs(x-e)<=1)and(abs(y-f)=1));
2:hod:=(x=e)or(y=f)or(abs(x-e)=abs(y-f));
3:hod:=(x=e)or(y=f);
4:hod:=abs(x-e)=abs(y-f);
5:hod:=((abs(x-e)=1)and(abs(y-f)=2))or((abs(x-e)=2)and(abs(y-f)=1));
end;
end;
 
begin
repeat
writeln('Введите поле белой фигуры:');
write('a=');read(a);
write('b=');read(b);
until (a in [1..8])and(b in [1..8]);
repeat
writeln('Введите поле черной фигуры:');
write('c=');read(c);
write('d=');read(d);
until (c in [1..8])and(d in [1..8])and((c<>a)or(d<>b));
repeat
writeln('Введите поле для хода:');
write('e=');read(e);
write('f=');read(f);
until (e in [1..8])and(f in [1..8])and((e<>a)or(f<>b))and((e<>c)or(f<>d));
writeln('Выберите белую фигуру');
writeln('1-король 2-ферзь 3-ладья 4-слон 5-конь');
repeat
read(nb);
until nb in [1..5];
writeln('Выберите черную фигуру');
writeln('2-ферзь 3-ладья 4-слон 5-конь');
repeat
read(nc);
until nc in [2..5];
if not hod(nb,a,b) then write('Белая фигура не может пойти на указанное поле')
else
 begin
  if not hod(nc,c,d) then write('Белая фигура может пойти на указанное поле, не попав под бой')
  else write('Белая фигура может пойти на указанное поле, но попав под бой');
 end;
end.
Цитата Сообщение от Alinoska Посмотреть сообщение
Во всех задачах ответ проверить на шахматной доске или на клетчатой бумаге.
Сделайте это, я мог и ошибиться.

Добавлено через 1 минуту
Если найдете ошибку, выложите исходные данные и содержание ошибки.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 10:36

Даны координаты двух различных полей шахматной доски
Даны координаты двух различных полей шахматной доски x1,y1,x2,y2,x3,y3 (целые...

Являются ли поля (a, b) и (c, d ) шахматной доски полями одного цвета
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не...

Вычислить количество зерен на любой N-ой клетке шахматной доски
Индийский раджа Шерам позвал к себе изобретателя шахмат ученого Сету и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru