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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
#1

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

23.01.2013, 14:24. Просмотров 3261. Ответов 11
Метки нет (Все метки)

и снова привет!
мне опять нужна ваша помощь.
вот код, который жутко глючит(((
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++
Помогите пожалуйста написать код программы выводящей на экран шахматную доску. P.S. Я только учусь.

Написать программу, которая выводит на экран изображение - C++
Need help!!!! Помогите решить задачи на языке С++!!! 1) http://s43.***********/i099/0912/73/1ad82a4c22cf.jpg 2)...

Программа обхода конем шахматной доски -рекурсией с++ - C++
Пока писала ,наделала кучу ошибок. Компилятор сильно ругается. Понятия не имею,что ему не нравится. Везде пишет,что не объявлены...

Программа, которая выводит на экран меню - C++
Написать программу, которая выводит на экран меню в виде: Please enter one of the following choices: a) apple g) game t) tree p)...

Программа которая выводит на экран целые числа - C++
Привет всем) я тут новичек и учу с++,задали мне тут такой вопрос:написать программу которая выводит на экран числа в виде: 6 7 8 ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
23.01.2013, 14:34 #3
Цитата Сообщение от Alika07 Посмотреть сообщение
вот код, который жутко глючит
В чем проблема то?

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

Добавлено через 1 минуту
Цитата Сообщение от SatanaXIII Посмотреть сообщение
В чем проблема то?
а должно выводить
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
-*-*-*-*
*-*-*-*-
(пробел тут почему-то не отображается)
UserAK
73 / 73 / 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
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
23.01.2013, 14:47  [ТС] #6
спасибо
UserAK
73 / 73 / 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
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 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
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
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 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
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
23.01.2013, 15:42 #11
ещё немного и вы напишете простую шахматную программу где по очереди ходят белые и чёрные
vallinor
2 / 2 / 0
Регистрация: 20.04.2015
Сообщений: 21
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;   //указывает на успешное завершение программы
}  //конец программы
Надеюсь кому-нибудь пригодится.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 11:28
Привет! Вот еще темы с ответами:

Программа которая выводит крест на экран (консоль) - C++
Нужно написать программу с использованией for, язык C++

Программа которая выводит на экран геометрическую фигуру - C++
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n)...

Программа которая выводит на экран геометрическую фигуру(исправить) - C++
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n)...

Программа которая выводит на экран геометрическую фигуру(исправить) - C++
Мне нужно чтобы треугольник был пустым,т.е звездочками должна быть нарисована граница #include &lt;stdio.h&gt; int main( ) { ...


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

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

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