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

Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 19:34     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #1
ребята помогите пожалуйста!я в с++ вообще не бум-бум! у меня 2-е задачи с шахматами!а я даже играть не умею в них!помогите пожалуйста!я буду вам очень признательна!

1.Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число -номер вертикали( при счёте слева направо), второе- номер горизонтали (при счёте снизу вверх). Даны натуральные числа- a,b,c,d,e,f, каждое из которых не превосходит восьми.определить, сможет ли белый слон ,расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня находящегося на поле(c,d).
ХОТЯ БЫ ЭТУ ПОМОГИТЕ ПОЖАЛУЙСТА!

А вот вторая...ну это вообще сложная...если кто сможет то помогите и с ней.
2.Шахматную доску представить в виде квадратного символьного массива размером 8*8. Позиция каждой шахматной фигуры определяется парой натуральных чисел , каждое из которых не превосходит восьми :первое число -номер вертикали( при счёте слева направо), второе- номер горизонтали (при счёте снизу вверх). Даны натуральные числа- a,b,c,d, каждое из которых не превосходит восьми.определить поля (отметить их символом "+"), на которые может пойти белая ладья, расположенная на поле (a,b), не попав при этом под удар чёрного слона, находившегося на поле(c,d).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 19:34     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d)
Посмотрите здесь:

C++ Написать задачку на двумерные массивы(Шахматная доска.На ней расположены 2 черных коня и белый слон).
Определить, может ли белая фигура пойти на поле C++
Может ли белая фигура пойти на поле (e,f), не попав при этом под удар черной фигуры C++
Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода C++
Друзья, подскажите, как в классе создать константное поле, ссылочное поле и объектное поле? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 20:53     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #2
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
bool valid(const int a)
{
    if (
        a<=8 && a>=1
        )
      return true;
    else return false;
}
 
int main()
{
    int a[6]; /*здесь храним данные о расположении фигур*/
    for (int i=0; i<=5; ++i)
    {
        scanf("%d", &a[i]);     
        if (!valid(a[i]))
        {
            puts("Error! Try again!");
            --i;
        }
    }   /*считали, проверили*/
            if ( 
                abs( a[4] - a[0] ) + abs( a[5] - a[1] ) == 3    //      
                &&                                              //Работает по принцыпу "опа - и все готово"
                abs( a[4] - a[2] ) + abs( a[5] - a[3] ) != 3    //Идет проверка на возможность хода и есть ли данный ход общий для обох фигур.
            )                                                   //
                puts("YES");
            else 
                puts("NO");
 
    return EXIT_SUCCESS;
}
Немножко вариаций и первая задача готова
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 21:03  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #3
спасибооо огромное!!!!!!только вот экран быстро исчезает после ввода значений=(....как сделать чтоб задерживался экран? и какие значения можно ввести чтоб было да и нет? а то я ведь не умею играть
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 21:15     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #4
Цитата Сообщение от Nata555 Посмотреть сообщение
как сделать чтоб задерживался экран?
C++
1
2
3
4
5
6
/*****/
char ch;
scanf ("%c", &ch);
 
return EXIT_SUCCESS;
}
Примерно так или еще так:

C++
1
2
3
getchar();
return EXIT_SUCCESS;
}
Или так:

C++
1
2
3
4
5
6
7
#include <conio.h>
 
/*************/
 
_getch();
return EXIT_SUCCESS;
}


Цитата Сообщение от Nata555 Посмотреть сообщение
и какие значения можно ввести чтоб было да и нет?
Например:
2 1
7 7
3 3


и

2 1
5 2
3 3
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:20  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #5
ШКІПЕР- я тебя просто обожаю!!! спасибо тебе огромное!
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 22:33     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #6
Nata555, в таком случае вторая задача:

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
 
bool valid(const int a)
{
    if (
        a<=8 && a>=1
        )
      return true;
    else return false;
}
 
bool elephant (const int x, const int y, const int a, const int b)
{
    if (abs(x-a) == abs(y-b))
        return true;
    else
        return false;
}
 
bool search_main(const int a, const int b, const int x, const int y)
{
    if (a == x || b==y)
        return true;
    else
        return false;
}
 
 
bool with_elephant(const int a0, const int a1, const int a2, const int a3, const int x, const int y)
{
    if (a0 == a2)
    {
        if (a2 - a3 > 0 && x < a3)
            return false;
        if (a2 - a3 < 0 && x > a3)
            return false;
    }
    else
 
    if (a1 == a3)
    {
        if (a0 - a2 > 0 && y < a2)
            return false;
        if (a0 - a2 < 0 && y > a2)
            return false;
    }
    else
    return true;
}
 
int main()
{
    int a[4]; /*здесь храним данные о расположении фигур*/
    for (int i=0; i<=3; ++i)
    {
        scanf("%d", &a[i]);     
        if (!valid(a[i]))
        {
            puts("Error! Try again!");
            --i;
        }
    }
 
 
    for (int x=8; x>=1; --x){
        for (int y=1; y<=8; ++y)
        {
            if (            
            !elephant(x, y, a[2], a[3])
            &&  
            search_main(a[0],a[1],x,y)
            &&
            with_elephant(a[0], a[1], a[2], a[3], x, y)
            )
            printf(" + ");
            else
                printf(" - ");
        }
        puts("\n");
    }
    _getch();
    return EXIT_SUCCESS;
}
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:39  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #7
Ты мой ангел-спаситель!!!! ОГРОМНЕЙШЕЕ СПАСИБО ТЕБЕ!я так рада что ты мне помог!!!!

Добавлено через 3 минуты
последний вопроскакие значения можно ввести чтоб было да и нет во второй задаче?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
23.01.2012, 22:40     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #8
Цитата Сообщение от Nata555 Посмотреть сообщение
только вот экран быстро исчезает после ввода значений=(...
http://www.cyberforum.ru/cpp-beginners/thread10807.html
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 22:42     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #9
Nata555, да нет за что
Вторую задачу только что поправил, вообщем смотри. Если есть вопросы - задавай.

Рад помочь!

последний вопроскакие значения можно ввести чтоб было да и нет во второй задаче?
Любые! ;-) В смысле не очень любые - те, что под условие попадают.
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:50  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #10
прости что я немного туплю...а какие условия???просто я вообще в шахматах не разбираюсь мне хоть любые примеры которые подходят под условиячтоб я тебя больше не беспокоилаещё раз огромное спасибо
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 22:55     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #11
Nata555, на самом деле все просто: lichess.org, рекомендую.
Во второй задачи: первое число - это как буква, например А1 на доске будет 1 1 в примере.

Примеры:
3 3
5 4


Нет никаких ограничений - можно вводить все числа от 1 до 8, но только координаты не должны совпадать (этого не предусмотрел, так как в условии вроде указано, что координаты разные у всех...).
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:59  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #12
спасибо огромное!пошутил ты на счёт шахматспасибо за совет ,может когда-нибудь научусь..но это мало вероятно
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 23:09     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #13
Nata555, весьма рад помочь Код, правда, можно еще упростить убрав в with_elephant ненужные аргументы и передавая туда ссылку на масив... Если есть желание - поправь...

P.S. И не забывай, что вторая задача слегка изменена.
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 23:17  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #14
неее=)вдруг что-нибудь не то уберуспасибо ещё раз!!!
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
23.01.2012, 23:33     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #15
Цитата Сообщение от Nata555 Посмотреть сообщение
вдруг что-нибудь не то уберу
Как же кодить собралась ? Всегда нужно пробовать - известно, что учатся на своих ошибках, во всяком случае есть оригинал в теме (если что-то пойдет не так).

P.S. На счет шахмат - это не шутка, есть желание - бросай в ЛС ссылку на партию, помогу и это освоить ;-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2012, 23:44     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d)
Еще ссылки по теме:

Определить, через сколько лет селекционер сможет засеять новой зерновой культурой поле площадью s га C++
C++ Определить, сможет ли белый слон перейти с одного поля на другое, не попав при этом под удар черного ферзя
C++ На доске стоят два ферзя. Указать поля, на которые может пойти белый ферзь, чтобы не попасть под удар черного

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

Или воспользуйтесь поиском по форуму:
Nata555
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 23:44  [ТС]     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) #16
хорошо
Yandex
Объявления
23.01.2012, 23:44     Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d)
Ответ Создать тему
Опции темы

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