Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 63
1

Выясните цвет ячейки шахматной доски

13.10.2018, 17:46. Просмотров 524. Ответов 5
Метки нет (Все метки)

1.Дано (x, y) координаты клетки шахматной доски. Выясните цвет ячейки. (Клетка (1, 1) - черная).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2018, 17:46
Ответы с готовыми решениями:

Разрезание шахматной доски
Написать программу нахождения всех способов разрезания шахматной доски с числом клеток nxn...

Король шахматной доски
Король шахматной доски размером 8х8 находится на коне в одной из клеток своего королевства. Он...

Обход шахматной доски конем
Добрый вечер , форумчане. Передо мной стоит проблема написать программу на С++ (задача о ходе ...

Закрасить участок шахматной доски
Люди помогите плиз, у меня в С++ вообще башка не варит((( написать программу для выполнения...

5
382 / 223 / 157
Регистрация: 06.06.2016
Сообщений: 478
13.10.2018, 22:43 2
Если клетка (1, 1) -- в верхнем левом углу доски

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
 // Цвет клетки шахматной доски: 0 -- черная, 1 -- белая
 bool checkerboard_cell_color( const int &x, const int &y )
 {
   return (x + y) % 2;
 }
 
 int main()
 {
   const int n = 8;
       for ( int  i = 0; i < n; ++i )
       {
           for ( int j = 0; j < n; ++j )
           {
             std::cout << checkerboard_cell_color( i, j );
           }
         std::cout << "\n";
       }
  return 0;
 }
0
Мозгоправ
1581 / 919 / 423
Регистрация: 01.10.2018
Сообщений: 1,920
Записей в блоге: 2
14.10.2018, 02:27 3
regio1961, если вы даже никогда не играли в шахматы, но видели шахматную доску с фигурами в начальной позиции, то заметили бы, что чёрная клетка всегда в левом нижнем углу доски.

Если внимательно посмотреть на шахматную доску, то можно заметить, что сумма координат чёрных клеток всегда чётная. Следовательно смысловая часть программы сводится к строке:
C++
1
((x + y) & 1) ? (cout << "белая") : (cout << "чёрная");
где x и y - координаты клетки.
0
382 / 223 / 157
Регистрация: 06.06.2016
Сообщений: 478
14.10.2018, 10:51 4
Цитата Сообщение от L0M Посмотреть сообщение
Если внимательно посмотреть на шахматную доску, то можно заметить, что сумма координат чёрных клеток всегда чётная. Следовательно смысловая часть программы сводится к строке
Если внимательно посмотреть на текст моего листинга можно заметить, что смысловая часть программы сводится к строке

C++
1
return (x + y) % 2;
Вы написали что-то новое?
А если посмотреть ещё и в начало, то можно заметить надпись

Цитата Сообщение от regio1961 Посмотреть сообщение
Если клетка (1, 1) -- в верхнем левом углу доски
Следовательно, если внимательно посмотреть на экран монитора, можно заметить, что программа будет рабочей и в том случае, если
Цитата Сообщение от L0M Посмотреть сообщение
чёрная клетка всегда в левом нижнем углу доски
просто кодировка цветов будет другой.
0
Мозгоправ
1581 / 919 / 423
Регистрация: 01.10.2018
Сообщений: 1,920
Записей в блоге: 2
15.10.2018, 13:47 5
Цитата Сообщение от regio1961 Посмотреть сообщение
Вы написали что-то новое?
Здесь написать что-то новое сложно

Просто зачем было писать столько кода? В исходной задаче не требовалось выводить схему доски.

Цитата Сообщение от regio1961 Посмотреть сообщение
А если посмотреть ещё и в начало, то можно заметить надпись
Цитата Сообщение от regio1961
Если клетка (1, 1) -- в верхнем левом углу доски
Таки да. Именно об этом я и написал, что чёрная клетка в левом верхнем углу шахматной доски не бывает.
0
382 / 223 / 157
Регистрация: 06.06.2016
Сообщений: 478
15.10.2018, 19:17 6
Цитата Сообщение от L0M Посмотреть сообщение
чёрная клетка в левом верхнем углу шахматной доски не бывает.
Это смотря как повернуть доску. Координат (1,1) тоже на шахматной доске не бывает, именно поэтому и была распечатана "схема доски".
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2018, 19:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Вывод на экран шахматной доски
Помогите пожалуйста написать код программы выводящей на экран шахматную доску. P.S. Я только учусь.

Обход конём шахматной доски
Приветствую всех форумчан! Нужно решить задачу: обойти конём шахматное поле размером n*n (n&lt;=8),...

Написать шаблон шахматной доски
Всем доброго времени суток! Я только начала учить циклы. Пока тяжело писать коды. Помогите,...


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

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

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