Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
1

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

23.01.2012, 19:34. Показов 2510. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ребята помогите пожалуйста!я в с++ вообще не бум-бум! у меня 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).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2012, 19:34
Ответы с готовыми решениями:

Определить, сможет ли белый слон одним ходом пойти на поле (e, f), не попав при этом под удар
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число -номер вертикали( при...

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

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

15
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
23.01.2012, 20:53 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;
}
Немножко вариаций и первая задача готова
1
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 21:03  [ТС] 3
спасибооо огромное!!!!!!только вот экран быстро исчезает после ввода значений=(....как сделать чтоб задерживался экран? и какие значения можно ввести чтоб было да и нет? а то я ведь не умею играть
0
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
23.01.2012, 21:15 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
1
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:20  [ТС] 5
ШКІПЕР- я тебя просто обожаю!!! спасибо тебе огромное!
0
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
23.01.2012, 22:33 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;
}
1
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 22:39  [ТС] 7
Ты мой ангел-спаситель!!!! ОГРОМНЕЙШЕЕ СПАСИБО ТЕБЕ!я так рада что ты мне помог!!!!

Добавлено через 3 минуты
последний вопроскакие значения можно ввести чтоб было да и нет во второй задаче?
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
23.01.2012, 22:40 8
Цитата Сообщение от Nata555 Посмотреть сообщение
только вот экран быстро исчезает после ввода значений=(...
https://www.cyberforum.ru/cpp-... 10807.html
0
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
23.01.2012, 22:42 9
Nata555, да нет за что
Вторую задачу только что поправил, вообщем смотри. Если есть вопросы - задавай.

Рад помочь!

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

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


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

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

P.S. На счет шахмат - это не шутка, есть желание - бросай в ЛС ссылку на партию, помогу и это освоить ;-)
1
3 / 3 / 0
Регистрация: 23.01.2012
Сообщений: 17
23.01.2012, 23:44  [ТС] 16
хорошо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2012, 23:44
Помогаю со студенческими работами здесь

Определить, может ли белая фигура пойти на поле (e, f), не попав при этом под удар черной фигуры
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при...

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

Определить, может ли белая фигура пойти на поле (e,f), не попав при этом под удар черной фигуры
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали (при...

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

Может ли белая фигура пойти на поле (e,f), не попав при этом под удар черной фигуры
Дураку уж помогите(((( 1. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru