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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
#1

Шахматы: Может ли слон побить слона? - C++

14.05.2012, 03:35. Просмотров 637. Ответов 5
Метки нет (Все метки)

Вот это пример с ладьёй.

#include <cstdlib>
#include <iostream>

using namespace std;

bool func(char *one, char *two)
{
return ( (one[0]==two[0]) || (one[1]==two[1]) );
}

int main(int argc, char *argv[])

{
char one[3];
char two[3];

cin >> one;
cin >> two;
cout << func(one,two) << endl;

system("PAUSE");

return 0;
}

Смысл программы в том, что она показывает, может ли одна фигура ударить другую. Если да, то выводится 1, если нет 0.
А мне нужен пример с слоном. Если , к примеру, слон стоит на a1, то второй слон должен стоять на a+1 и 1+1, то есть b2, c3 и т.д. Но я не знаю как это написать. Помогите, пожалуйста.

Прошу прощения, если что-то не так описал. Я тут новичок, это моё первое сообщение, да и в C++ тоже совсем зелёный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 03:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шахматы: Может ли слон побить слона? (C++):

На шахматной доске стоят черный король и белые ладья и слон (ладья бьет по горизонтали и вертикали, слон – по - C++
Помогите решить проблему error C2668: fabs: неоднозначный вызов перегруженной функции На шахматной доске стоят черный король и белые...

Определить, может ли король попасть с первой заданной клетки на вторую одним ходом (шахматы) - C++
Доброго времени суток. Начал интересоваться C++ и прохожу онлайн курс. Застопорился на условных операторах вот с такой задачей: ...

Задача про слона 0о - C++
Нам задали прикольную задачу. От пункта А до пункта Б 12км. На каждом километре есть склад. Склады заполнены бананами(кол-во...

Слон - C++
Требуется определить, бьет ли слон, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой...

Просчет ходов Слона по шахматной доске - C++
Здравствуйте. Помогите, пожалуйста, с решением задачи на просчет ходов слона по шахматной доске. Функционал: Вводим: текущее...

Проверка координат для хода слона - C++
Задается расположение фигурки слона. Так же задаем точку для проверки. Как проверить может ли слон с текущего положения совершить...

5
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
14.05.2012, 04:11 #2
Когда пишешь код, выделяй его и выбирай в редакторе "Выделить код С++".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <cmath>
 
 
bool func(std::string one, std::string two) {
    return std::abs(one[0] - two[0]) == std::abs(one[1] - two[1]);
}
 
 
int main() {
    std::string one, two;
    
    std::cout << "one? ";
    std::cin >> one;
    std::cout << "two? ";
    std::cin >> two;
    
    std::cout << ( func(one, two) ? "posibble" : "impossible" ) << std::endl;
}
Я не уверен, что правильно, так что проверяй сам.
1
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
14.05.2012, 04:23  [ТС] #3
Спасибо большое) Ещё бы синтаксис понять...))
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
14.05.2012, 04:30 #4
Цитата Сообщение от Pepsi Посмотреть сообщение
Ещё бы синтаксис понять...))
? Кстати, строки лучше передавать по константной ссылке, т.е:
C++
1
2
3
bool func(std::string const& one, std::string const& two) {
    return std::abs(one[0] - two[0]) == std::abs(one[1] - two[1]);
}
0
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
14.05.2012, 04:47  [ТС] #5
Цитата Сообщение от gray_fox Посмотреть сообщение
?
Спасибо, просто нас ещё не учили пользоваться стрингом, я с ним не знаком и не понимаю какую функцию он здесь выполняет и не понимаю чем лучше константные ссылки. Я просто совсем-совсем новичок
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
14.05.2012, 04:51 #6
Цитата Сообщение от Pepsi Посмотреть сообщение
нас ещё не учили пользоваться стрингом
То же самое:
C++
1
2
3
bool func(char const* one, char const* two) {
    return std::abs(one[0] - two[0]) == std::abs(one[1] - two[1]);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2012, 04:51
Привет! Вот еще темы с ответами:

Мухи и слон - C++
Написать программу которая решит задчу: МУХА+ МУХА+ МУХА= _____ СЛОН Каждая буква одначает свою цифру, т.е. при составление...

Вирус-слон - C++
Я вообще форумов не люблю, стараюсь находить все сам исходя из уже поставленных вопросов и написаных ответов. Но тут особый случай... ...

Слон бьет врагов ??? - C++
Приветствую, всех! Кто то скажет опять эти шахматы, сам спекся :wall: когда получил задание. Но дорогие форумчани помогите с задание. Не...

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
14.05.2012, 04:51
Ответ Создать тему
Опции темы

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