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

Программа, которая выводит на экран изображение шахматной доски - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
23.01.2013, 14:24     Программа, которая выводит на экран изображение шахматной доски #1
и снова привет!
мне опять нужна ваша помощь.
вот код, который жутко глючит(((
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
{
    // Напишите программу, которая выводит на экран изображение шахматной доски.
    //Черные клетки отображать "звездочкой", белые — пробелом.
    for (int ryad = 1; ryad <= 8; ryad++)
    {
        if (ryad % 2 == 0)
        {
            cout<<"*";
        }
        else
        {
            cout<<" ";
        }
        for (int kletka = 2; kletka <= 8; kletka++)
        {
            if (kletka % 2 == 0)
            {
                cout<<"*";
            }
            else
            {
                cout<<" ";
            }
            if (kletka % 8 == 0)
            {
                cout<<"\n";
            }
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 14:24     Программа, которая выводит на экран изображение шахматной доски
Посмотрите здесь:

Написать программу, которая выводит на экран изображение C++
Программа которая выводит на экран геометрическую фигуру C++
Программа которая выводит на экран геометрическую фигуру(исправить) C++
Программа которая выводит на экран геометрическую фигуру(исправить) C++
C++ Программа обхода конем шахматной доски -рекурсией с++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
23.01.2013, 14:32     Программа, которая выводит на экран изображение шахматной доски #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for (int ryad = 1; ryad <= 8; ryad++)
    {
        for (int kletka = 2; kletka <= 8; kletka++)
        {
            if ((kletka + ryad) % 2 == 0)
            {
                cout<<"*";
            }
            else
            {
                cout<<" ";
            }
            if (kletka % 8 == 0)
            {
                cout<<"\n";
            }
        }
    }
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
23.01.2013, 14:34     Программа, которая выводит на экран изображение шахматной доски #3
Цитата Сообщение от Alika07 Посмотреть сообщение
вот код, который жутко глючит
В чем проблема то?

Выводит
C++
1
2
3
4
5
6
7
8
 * * * *
** * * *
 * * * *
** * * *
 * * * *
** * * *
 * * * *
** * * *
Красиво.
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
23.01.2013, 14:41  [ТС]     Программа, которая выводит на экран изображение шахматной доски #4
не совсем( там в каждом ряду должно быть по 8 символов: 4 пробела и 4 *. но все равно спасибо. буду думать)

Добавлено через 1 минуту
Цитата Сообщение от SatanaXIII Посмотреть сообщение
В чем проблема то?
а должно выводить
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
(пробел тут почему-то не отображается)
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
23.01.2013, 14:44     Программа, которая выводит на экран изображение шахматной доски #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int main()
{
    unsigned row, col;
    bool black = false;
 
    cout<<" ABCDEFGH\n";
    for( row = 0; row < 8; row++ ){
        cout<<8-row;
        for( col = 0; col <8; col++ ){
            cout<<(black ? "*" : " ");
            black = !black;
        }
        black = !black;
        cout<<8-row<<endl;
    }
    cout<<" ABCDEFGH\n";
 
    system("pause");
    return 0;
}
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
23.01.2013, 14:47  [ТС]     Программа, которая выводит на экран изображение шахматной доски #6
спасибо
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
23.01.2013, 14:52     Программа, которая выводит на экран изображение шахматной доски #7
даже думаю идеологически правильно было бы начать с 8 и уменьшать индекс строки

Добавлено через 29 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int main()
{
    unsigned row, col;
    bool black = false;
 
    cout<<" ABCDEFGH\n";
    for( row = 8; row > 0; row-- ){
        cout<<row;
        for( col = 0; col <8; col++ ){
            cout<<(black ? "*" : " ");
            black = !black;
        }
        black = !black;
        cout<<row<<endl;
    }
    cout<<" ABCDEFGH\n";
 
    system("pause");
    return 0;
}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
23.01.2013, 14:55     Программа, которая выводит на экран изображение шахматной доски #8
Вот такой еще псевдовариант. ))
C++
1
2
3
4
5
6
7
8
9
for (int ryad = 1; ryad <= 8; ryad++)
  {
    for(int kletka = 1; kletka <= 8; kletka++)
    {
    if(ryad % 2 == 0) cout << "* ";
    else cout << " *";
    }
  cout << "\n";
  }
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
23.01.2013, 15:27  [ТС]     Программа, которая выводит на экран изображение шахматной доски #9
а еще можно как-то так, только я с endl напутала
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
// Напишите программу, которая выводит на экран изображение шахматной доски.
    //Черные клетки отображать "звездочкой", белые — пробелом.
    int ryad, kletka;
    cout<<" ABCDEFGH"<<endl;
    for ( ryad = 8; ryad >= 1; ryad--)
    {
        cout<<ryad<<endl;
        {
            for (kletka = 1; kletka <= 8; kletka++)
            {
                if ((kletka + ryad) % 2 == 0)
                {
                    cout<<" ";
                }
                else
                {
                    cout<<"*";
                }
            }
        }
        if (ryad % 8 == 0)
        {
            cout<<ryad<<endl;
        }
    }
    cout<<" ABCDEFGH"<<endl;
}
Добавлено через 1 минуту
Цитата Сообщение от 3BEPb_TyTa Посмотреть сообщение
if ((kletka + ryad) % 2 == 0)
спасибо за формулу!
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
23.01.2013, 15:30     Программа, которая выводит на экран изображение шахматной доски #10
Во. Аскетично:
C++
1
2
3
4
5
6
7
8
9
for (int ryad = 1; ryad <= 8; ryad++)
  {
    for(int kletka = 1; kletka <= 8; kletka++)
    {
    if( (kletka+ryad) % 2 == 0) cout << "*";
    else cout << " ";
    }
  cout << "\n";
  }
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
23.01.2013, 15:42     Программа, которая выводит на экран изображение шахматной доски #11
ещё немного и вы напишете простую шахматную программу где по очереди ходят белые и чёрные
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 11:28     Программа, которая выводит на экран изображение шахматной доски
Еще ссылки по теме:

Программа которая выводит на экран целые числа C++
C++ Написать программу, которая выводит на экран изображение шахматной доски
Программа, которая выводит на экран меню C++

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

Или воспользуйтесь поиском по форуму:
vallinor
2 / 2 / 0
Регистрация: 20.04.2015
Сообщений: 19
17.05.2015, 11:28     Программа, которая выводит на экран изображение шахматной доски #12
Всем доброго времени суток. Раз пошло такое обсуждение выложу и свой вариант

Тут задача немного другая - надо напечатать доску только заданными командами вывода

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
//Рисуем шахматную доску операторами cout<< "* "; cout<<" "; cout<<"\n";
#include <cstdlib>  //библиотека управления процессом
#include <iostream> //библиотека ввод вывода
 
using namespace std;    //использование в программе команд библиотеки iostream
 
int main()  //главная функция
{   //начало программы
    
    int a=8,  //четная строка
        b=8,  //нечетная строка
        c=0;  //счетчик повторов
        
   for(c;c<=7;c++)  //задаем цикл повторов 
   {    //начало цикла
        if(c%2==0)  //если условие выполнения истинно
        {   //начало условия
            while(a!=0) //условие печати четной строки
            {   //начало условия
                cout<<"* "; //вывод на экран
                a--;    //уменьшаем переменную на 1
            }   //конец условия
            a=8;    //присваиваем переменной значение
            cout<<"\n"; //переход на новую строку
        }   //конец условия
        else    //Если условие выполнения ложно
        {   //начало условия
            cout<<" ";  //вывод на экран
            while(b!=0) //условие печати нечетной строки
            {   //начало условия
                cout<<"* "; //вывод на экран
                b--;    //уменьшение переменной на 1
            }   //конец условия
            b=8;    //присваиваем переменной значение
            cout<<"\n"; //переход на новую строку
        }   //конец условия
    }   //конец цикла
    system("pause");    //приостановка программы
    return 0;   //указывает на успешное завершение программы
}  //конец программы
Надеюсь кому-нибудь пригодится.
Yandex
Объявления
17.05.2015, 11:28     Программа, которая выводит на экран изображение шахматной доски
Ответ Создать тему
Опции темы

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