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

шахматная доска - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Wlad445
65 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 177
10.03.2011, 16:13     шахматная доска #1
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не более 8:1-е число номер вертикали (слева - направо),2-е число номер горизонтали (снизу - вверх). Задан натуральные числа k, l, m, n (все <8). На поле (k, l) лошадь. Угрожает ли он полю (m, n)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 16:13     шахматная доска
Посмотрите здесь:

Шахматная доска C++
шахматная доска C++
Шахматная доска C++
C++ Шахматная доска
C++ Шахматная доска
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
10.03.2011, 16:31     шахматная доска #2
Не в тему, но по тексту:
На поле (k, l) лошадь. Угрожает ли он полю (m, n)?
Только если поменяет пол.
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
10.03.2011, 21:05     шахматная доска #3
В шахматах конь, а не лошадь. Он ходит буквой "Г". Допустим на одну клетку вправо и на две вверх. Либо на одну клетку влево и две вверх. Либо на две клетки вверх и одну влево. Либо на две клетки вверх и одну вправо. Кароч если конь в середине доски стоит 8 вариантов возможно. Нужно просто в условии задать все эти варианты, если хотя бы один из них верен, значит угрожает.
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
10.03.2011, 22:34     шахматная доска #4
C++
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
/////////////////////////////////////////////////////////////////////////////////////////
//Поле шахматной доски определяется парой натуральных чисел, каждое из которых 
//не более 8:1-е число номер вертикали (слева - направо),2-е число номер горизонтали 
//(снизу - вверх). Задан натуральные числа k, l, m, n (все <= 8). На поле (k, l) лошадь. 
//Угрожает ли он полю (m, n)? 
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
void  input_square_coord
    (
        const T_str&  prompt,
        int&          square_coord 
    )
{
    const int  COORD_MIN = 1;
    const int  COORD_MAX = 8;
    do
    {
        std::cout << prompt;
        std::cin >> square_coord;
 
    }while(   square_coord < COORD_MIN
           || COORD_MAX < square_coord);
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите координаты коня: "
              << std::endl;
    int  knight_v = 0;
    input_square_coord("\tномер вертикали  : ",  knight_v);
    int  knight_h = 0;
    input_square_coord("\tномер горизонтали: ",  knight_h);
 
    std::cout << "Введите координаты клетки: "
              << std::endl;
 
    int  square_v = 0;
    input_square_coord("\tномер вертикали  : ",  square_v);
    int  square_h = 0;
    input_square_coord("\tномер горизонтали: ",  square_h); 
 
    bool  knight_captures_square 
        = abs(knight_v - square_v) * abs(knight_h - square_h) == 2;
 
    std::cout << "Конь на поле ("
              << knight_v
              << ", "
              << knight_h
              << ") "
              << (knight_captures_square ? "" : "НЕ ")
              << "угрожает полю ("
              << square_v
              << ", "
              << square_h
              << "). "
              << std::endl;
}
Yandex
Объявления
10.03.2011, 22:34     шахматная доска
Ответ Создать тему
Опции темы

Текущее время: 23:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru