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

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

Восстановить пароль Регистрация
 
Pepsi
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 3
14.05.2012, 03:35     Шахматы: Может ли слон побить слона? #1
Вот это пример с ладьёй.

#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++ Написать задачку на двумерные массивы(Шахматная доска.На ней расположены 2 черных коня и белый слон).
C++ Задача про слона 0о
Мухи и слон C++
Слон бьет врагов ??? C++
Слон C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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     Шахматы: Может ли слон побить слона?
Ответ Создать тему
Опции темы

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