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

Вывод на экран шахматной доски - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл для подсчета произведения элементов массива http://www.cyberforum.ru/cpp-beginners/thread19148.html
#include <stdio.h> #include<math.h> int main()// главная функция программы { int i,u,g,a,p=1;double b; printf("Programma opredelyaet srgeom vsex chisel posledovatelnosti\n");//описание...
C++ Даны три целых числа. Вывести на экран те из них, которые являются положительными. 1. Даны три целых числа. Вывести на экран те из них, которые являются положительными. 2. Найти все двузначные числа, сумма квадратов цифр которых делится на 13. 3. В одномерном массиве,... http://www.cyberforum.ru/cpp-beginners/thread19142.html
C++ Замена пар цифр в файле на буквы лат. алфавита и вывод на экран результата
Ночи доброй. Есть текстовый файл содержащий ряд чисел (00010203 и тд.). Каждая пара чисел соответствует символу лат. алфавита (само же число получается как первое вхождение в текстовую строку этой...
Подсчёт числа серий положительных, отрицательных чисел и нулей длиной не менее k в массиве C++
Задача: Составить функцию для подсчёта числа серий положительных, отрицательных чисел и нулей длиной не менее k в одномерном массиве целых чисел. Серией называется последовательность элементов...
C++ Описать класс, соответствующий матрицам, с операциями их сложения http://www.cyberforum.ru/cpp-beginners/thread19118.html
ПОМОГИТЕ ПОЖАЛУЙСТА!!! Задание: 1. Описать класс, соответствующий матрицам размерности 7 × 7, с операциями сложения матриц, умножения матрицы на число, умножения матриц друг на друга*, вычисления...
C++ 3-х мерный массив+Строки+функции Задача: Обработать n1 матриц размером n*m. Элемент строка. В каждой из матриц есть одно слово состоящее только из цифр. Найти его, преобразовать, записать в новый массив. Дополнение: -Обязательно... подробнее

Показать сообщение отдельно
Grayswandir
10 / 10 / 1
Регистрация: 05.02.2010
Сообщений: 12
05.02.2010, 22:51
Доброго времени суток.
Даны 2 задачи на вариацию шахматной доски.

1. Высота и ширина доски задаётся пользователем.
Нарисовать шахматную доску в консоли. Размер ячейки доски фиксирован - одно знакоместо.
Чёрные клетки - символ 'x', белый - символ '-'.
Тут сложностей нет.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        int h, w, i, j;
        
    cout << "Введите высоту шахматной доски.\nh = ";
    cin >> h;
    cout << "Введите ширину шахматной доски.\nw = ";
    cin >> w;
 
    for (i=0; i<h; i++)
    {
        for (j=0; j<w; j++)
        {
            ((j%2 && i%2) || (!(j%2) && !(i%2))) ? (cout << 'x') : (cout << '-');
        }
        cout << '\n';
    }
    cout << "\n\n\n";
2. условия те же, только размер ячейки не фиксирован, а задаётся пользователем.
Т.е., например, высота доски - 3, ширина - 4, размер ячейки - 3 знакоместа.
На выводе должно быть так:

xxx---xxx---
xxx---xxx---
xxx---xxx---
---xxx---xxx
---xxx---xxx
---xxx---xxx
xxx---xxx---
xxx---xxx---
xxx---xxx---

И вот тут у меня проблемы.
Помогите пожалуйста подсказкой как это реализовать, готовый код не надо - хочется самому разобраться.
Из обязательных условий: использование только циклов - никаких массивов, консольный вывод (cout).

Добавлено через 3 часа 53 минуты
Вторую задачу-таки победил

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
#include <iostream>
using namespace std;
void main()
{
    setlocale (LC_CTYPE, ".1251");  
    int h, a, w;
    cout << "Введите высоту шахматной доски.\nh = ";
    cin >> h;
    cout << "Введите ширину шахматной доски.\nw = ";
    cin >> w;
    cout << "Введите величину ячейки шахматной доски.\na = ";
    cin >> a;
    for (int i=0; i<h; i++)
    {
        for (int jj=0; jj<a; jj++)
        {
            for (int j=0; j<w; j++)
            {
                for (int ii=0; ii<a; ii++)
                {
                ((i+j)%2) ? (cout << '-') : (cout << 'x');
                }
            }
            cout << '\n';
        }
    }
    cout << "\n\n\n";
}
Если у кого-то есть идеи по оптимизации решения - с интересом бы посмотрел.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru