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

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

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

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

14.05.2012, 03:35. Просмотров 617. Ответов 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++ тоже совсем зелёный.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 03:35     Шахматы: Может ли слон побить слона?
Посмотрите здесь:

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

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

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

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

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

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

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

Выяснить, можно ли с заданного поля одним ходом слона попасть на другое заданное поле - C++
Здравствуйте помогите пожалуйста, как это можно сделать за два хода Поле шахматной доски определяется парой натуральных чисел, каждое из...

На шахматной доске отметить все клетки, которые бьет слон - C++
Шахматная доска – игровое поле 8 × 8. Сформировать двумерный массив A – схематическое изображение доски, на котором отметить положение...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 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;
}
Я не уверен, что правильно, так что проверяй сам.
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
14.05.2012, 04:23  [ТС]     Шахматы: Может ли слон побить слона? #3
Спасибо большое) Ещё бы синтаксис понять...))
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 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]);
}
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
14.05.2012, 04:47  [ТС]     Шахматы: Может ли слон побить слона? #5
Цитата Сообщение от gray_fox Посмотреть сообщение
?
Спасибо, просто нас ещё не учили пользоваться стрингом, я с ним не знаком и не понимаю какую функцию он здесь выполняет и не понимаю чем лучше константные ссылки. Я просто совсем-совсем новичок
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 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]);
}
Yandex
Объявления
14.05.2012, 04:51     Шахматы: Может ли слон побить слона?
Ответ Создать тему
Опции темы

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