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

Одного ли цвета клетки на шахматной доске? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
kaka2205
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 4
28.09.2012, 20:00     Одного ли цвета клетки на шахматной доске? #1
Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки) Одно ли цвета эти клетки на шахматной доске? Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 20:00     Одного ли цвета клетки на шахматной доске?
Посмотрите здесь:

на шахматной доске заданы 2 клетки соедините эти 2 клетки кратчайшим путем коня C++
C++ Числа на шахматной доске в С++
Числа на шахматной доске C++
C++ Числа на шахматной доске
Ход на шахматной доске C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
28.09.2012, 22:13     Одного ли цвета клетки на шахматной доске? #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 <iostream>
#include <conio.h>
 
using namespace std;
 
int main(){
int pole1x, pole1y, pole2x, pole2y;
bool pole1;
bool pole2;
 
cout << Rus("Введите координату x для поля 1");
cin >> pole1x;
cout << Rus("Введите координату y для поля 1");
cin >> pole1y;
cout << Rus("Введите координату x для поля 2");
cin >> pole2x;
cout << Rus("Введите координату y для поля 2");
cin >> pole2y;
 
if ((pole1x % 2 == 1 && pole1y %2 == 1) || (pole1x % 2 == 0 && pole1y % 2 == 0)){
     pole1 = true;//поле 1 - черное
}else{
     pole1 = false;//поле 1 - белое
}
if ((pole2x % 2 == 1 && pole2y %2 == 1) || (pole2x % 2 == 0 && pole2y % 2 == 0)){
     pole2 = true;//поле 2 - черное
}else{
     pole2 = false;//поле 2 - белое
}
if ((pole1 == true && pole2 == true) || (pole1 == false && pole2 == false)){
     cout << "YES" << endl;
}else{
     cout << "NO" << endl;
}
     _getch();
}
На работоспособность не проверял, если есть ошибки - пишите.

Добавлено через 33 секунды
С файлами сам не разобрался, вставите?
rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 183
28.09.2012, 22:22     Одного ли цвета клетки на шахматной доске? #3
kaka2205,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main(){
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int x1, y1, x2, y2;
    cin>>x1>>y1>>x2>>y2;
    if ((x1+y1)%2==(x2+y2)%2) cout<<"YES";
    else cout<<"NO";
    return 0;
}
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.09.2012, 22:26     Одного ли цвета клетки на шахматной доске? #4
C++
1
((x1+y1)%2 == (x2+y2)%2) ? std::cout<<"Yes" : std::cout<<"No";
Добавлено через 41 секунду

Не по теме:

rinat_w, не видел твоего сообщения, когда печатал ) хах, у нас даже имена переменных совпали

rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 183
28.09.2012, 22:30     Одного ли цвета клетки на шахматной доске? #5
Vourhey,

Не по теме:

а я думал что ты мой код укоротил

I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
28.09.2012, 22:48     Одного ли цвета клетки на шахматной доске? #6
C++
1
2
std::string answer[2] = {"Yes", "No"};
std::cout << answer[(x1+y1+x2+y2)%2];
И еще вариант
Yandex
Объявления
28.09.2012, 22:48     Одного ли цвета клетки на шахматной доске?
Ответ Создать тему
Опции темы

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