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

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

Войти
Регистрация
Восстановить пароль
 
The_Immortal
1551 / 487 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
#1

Шахматная доска - C++

07.08.2012, 15:19. Просмотров 1121. Ответов 5
Метки нет (Все метки)

Ребят, сейчас друг сидит на собеседовании, ему досталась какая-то слишком легкая задача (хотя работа вообще с кодингом не связана), но что-то он перенервничал и не может сообразить

Вывести шахматную доску 8x8 (1 - белый квадратик, 0 - черный).

Я быстренько накатал:

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
37
38
39
40
41
42
43
    int m[8][8];
 
    for (int i = 0; i < 8; i++) {
        if (!i) {
            for (int j = 0; j < 8; j++) {
                if (!(j % 2)) {
                    m[i][j] = 1;
 
                }
                else
                    m[i][j] = 0;
            }
        }
        else
            for (int j = 0; j < 8; j++) {
                if (!m[i - 1][0]) {
                    if (!(j % 2)) {
                        m[i][j] = 1;
 
                    }
                    else
                        m[i][j] = 0;
                }
                else {
                    if (!(j % 2)) {
                        m[i][j] = 0;
 
                    }
                    else
                        m[i][j] = 1;
 
                }
            }
    }
 
    for (int i = 0; i < 8; i++) {
        for (int j = 0; j < 8; j++) {
            cout << m[i][j] << ' ';
        }
        cout << '\n';
    }
 
    system("pause");
Но может можно как-то поумнее сделать? Походу будет проверяться насколько рационально подошли к такой простой задаче...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2012, 15:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шахматная доска (C++):

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

шахматная доска - C++
помогите написать программу, которая отображает на экране следующий рисунок шахматной доски:

Шахматная доска - C++
Даны координаты двух различных полей шахматной доски x1,x2,y1,y2(Целые числа лежащие в диапазоне от 1 до 8). Проверить истинность...

шахматная доска - C++
Здравствуйте! Есть задача: дана шахматная доска размером NxN, нужно расставить N ферзей таким образом, чтобы они не атаковали друг...

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

Шахматная доска - C++
Шахматная доска содержит 8x8 клеток. Горизонтали и вертикали обозначаются цифрами 1-8. Написать программу, проверяющую, можно ли с первой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
07.08.2012, 15:23 #2
C++
1
2
3
for (int i=0; i<8; ++i)
for (int j=0; j<8; ++j)
mas[i][j] = (i+j)%2;
Ты об этом?
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,435
Записей в блоге: 3
07.08.2012, 15:28 #3
Можно так например:
C++
1
2
3
4
5
6
7
8
9
10
11
int a[8][8];
  int i,j;
  for(i=0;i<8;i++)
  {
    for(j=0;j<8;j++)
    {
      if((i+j)%2==0) std::cout<<1;
      else std::cout<<0;
    }
    std::cout<<std::endl;
   }
The_Immortal
1551 / 487 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
07.08.2012, 15:31  [ТС] #4
nexen, ха-ха)) Спасибо большое! Вот я намудрил-то))
John Prick
778 / 711 / 131
Регистрация: 27.07.2012
Сообщений: 2,043
Завершенные тесты: 3
07.08.2012, 15:32 #5
m[0][0] должен быть == 0, так как поле a8 (или h1) которое в верхнем левом углу - белое.
jack_pb
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 1
23.01.2015, 16:15 #6
можно и так:
C++
1
2
3
4
5
6
7
8
for (int i = 1; i <=8 ; i++)
    {
        for (int j = 1; j <= 8; j++)
        {
            cout << (((j+i )% 2) == 0) << " ";
        }
        cout << endl;
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2015, 16:15
Привет! Вот еще темы с ответами:

Шахматная доска - C++
Есть шахматная доска (8*8). Нужно с помощью фигуры &quot;конь&quot; обойти все 64 клетки шахматной доски. Что-то скопипастил, но работать не хочет....

С++ Шахматная доска - C++
Помогите пожалуйста с заданием. Нужно сделать шахматную доску 16*16 и пользователь должен ввести координаты звездочек которые расположатся...

Шахматная доска - C++
Ребята, помогите! Есть код на С++, выводящий на экран шахматную доску, нужно его дополнить обозначением клеток (по горизонтали 1,2,3... , и...

шахматная доска!! - C++
Нужно вывести шахматную доску, где белые клетки - 0 и черные - 1, воспользовавшись тем, что если сумма номера столбца и строки четная, то...


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

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

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