Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Определить сможет ли шахматная фигура съесть пешку по ее координатам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, есть ли среди целых чисел A, B, C хотя бы одно парное http://www.cyberforum.ru/cpp-beginners/thread1552550.html
Определить, есть ли среди целых чисел A, B, C хотя бы одно парное. Нужно набрать в Dev C++ помогите пожалуйста
C++ Перевод с Паскаля на Си. Определить время суток Нужна помощь в переводе с паскаля на С ++ п. 5.18. Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. http://www.cyberforum.ru/cpp-beginners/thread1552543.html
Вычислить значение функции заданной разложением в ряд Тейлора C++
.Вычислить с заданной точностью значение функции, представленной в виде суммы бесконечного ряда. Для проверки результата предусмотреть в программе вычисление функции по контрольной фор-муле. Пункт...
Вычислить значение функции заданной разложением в ряд Тейлора C++
Помогите формулу записать \inline s=\sum_{n}^{}*\frac{{x}^{2n+1}}{(2*n+1)!}
C++ Разница первой и последней компоненты файла http://www.cyberforum.ru/cpp-beginners/thread1552526.html
Дан файл, компоненты которого действительные числа. Помогите с написанием программы, которая вычисляет разницу между первой и последней компонентой файла :sorry:
C++ Вычислить математические функции с заданной точностью Помогите формулу записать подробнее

Показать сообщение отдельно
EarlSweatshirt
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 2

Определить сможет ли шахматная фигура съесть пешку по ее координатам - C++

14.10.2015, 22:31. Просмотров 328. Ответов 1
Метки (Все метки)

Помогите пожалуйста. Задачу не принимает. Пишет, что неправильный ответ на каком-то тесте.

Задача:

Нужно найти сможет ли шахматная фигура съесть пешку указав их координаты.
Введите координаты и название фигуры(одного из нижеследующих):
1. rook (ладья)
2. bishop (слон)
3. knight (конь)
Затем укажите координаты жертвы.
Выведите YES если фигура может съесть жертву, NO если нет.
Считается что только эти две фигуры находятся на шахматной доске.

Пример:
Ввод:
rook 4 b
7 b
Вывод:
YES

Пример:
Ввод:
bishop 2 e
3 b
Вывод:
NO

Вот мой код:

C++ (Qt)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
using namespace std;
int main() {
 
    int i,j,x1,x2,y1,y2,k=0;
    
    string a;
    
    char y01,y02;
    char f[9] = "abcdefgh";
    
    cin>>a;
    cin>>x1>>y01;
    cin>>x2>>y02;
    
    for (int i=0;i<8;i++) {
        if (f[i]==y01) y1 = i+1;
        if (f[i]==y02) y2 = i+1;
    }
    
    if (a == "rook") {  
// rook rook rook rook rook rook rook rook  
        if (x1 == x2 || y1 == y2) {
            cout<<"YES";
            
        }
        else {
            cout<<"NO";
        }
// rook rook rook rook rook rook rook rook
    }
    
    else if (a == "bishop") {
// bishop bishop bishop bishop bishop bishop    
        for (i=1;i<=8;i++) {
            if (((x2==x1-i)&&((y2==y1-i)||(y2==y1+i))) || ((x2==x1+i)&&((y2==y1-i)||(y2==y1+i)))){
                k=1;
            }
        }
        
        if ((x1==x2)&&(y1==y2)) {
            cout<<"YES"     ;
        }
        
        else {
            if (k!=0) {
                cout<<"YES";
            }
            else cout<<"NO";    
        }
// bishop bishop bishop bishop bishop bishop
    }
    
    else if (a == "knight") {
// knight knight knight knight knight knight
        if ((x1==x2)&&(y1==y2)) {
            cout<<"YES"     ;
        }
        else {
            if (((x2==x1+1) && ((y2==y1-2)||(y2==y1+2))) || ((x2==x1-1)&&((y2==y1-2)||(y2==y1+2))) || ((x2==x1-2)&&((y2==y1-1)||(y2==y1+1))) || ((x2==x1-2)&&((y2==y1-1)||(y2==y1+2))))  {
                cout<<"YES";
            }
            else {
                cout<<"NO";
            }
        }
// knight knight knight knight knight knight    
    }
    
    
    return 0;
}
0
Миниатюры
Определить сможет ли шахматная фигура съесть пешку по ее координатам  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru