С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нарисовать звездочками квадрат в квадрате в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не срабатывает метод класс Clear(); http://www.cyberforum.ru/cpp-beginners/thread1497738.html
День добрый форумчане, подскажите пожалуйста почему не срабатывает в обычном режиме метод класса Clear(); А если прогонять через отладку то работает ? #define _CRT_SECURE_NO_WARNINGS...
C++ Не понятно что делает __success(return >= 0) Увидел определение HRESULT typedef __success(return >= 0) long HRESULT; не ясно что это означает? это похоже команда препроцессора потому что два подчеркивания и что она делает? http://www.cyberforum.ru/cpp-beginners/thread1497723.html
C++ Распознаватель речи
Здравствуйте! Хочу написать программу в которой нужно будет преобразовывать звук в текст и делать с ним определенные действия. Для этого нужен распознаватель речи, готовый брать не хочу, т.к. есть...
C++ Найти количество островов из единиц
Здравствуйте, есть задачка. Задача Острова Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите количество «островов», образованных единицами. Под «островом»...
C++ Создать консольное приложение на С/С++ для обработки и печати текста http://www.cyberforum.ru/cpp-beginners/thread1497655.html
Создать приложение которое бы -обрабатывала текст -печатала весь текст -печать файла ***печать всех слов содержащих букву А -печать первого слова каждой строки Помогите пожалуйста, буду очень...
C++ Не получается создать класс Account из книги Дейтелов Задача: Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для... подробнее

Показать сообщение отдельно
Gelo123321
21 / 21 / 4
Регистрация: 05.01.2012
Сообщений: 282
Завершенные тесты: 1
12.07.2015, 21:44
Gonzovision, примитивный вариант:
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
// Рисование квадрата символами в консоли. ------------------------------------
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    char rects[6][6] = { { '*', '*', '*', '*', '*', '*' },
                         { '*', ' ', ' ', ' ', ' ', '*' },
                         { '*', ' ', '*', '*', ' ', '*' },
                         { '*', ' ', '*', '*', ' ', '*' },
                         { '*', ' ', ' ', ' ', ' ', '*' },
                         { '*', '*', '*', '*', '*', '*' } };
    // Рисуем фигуры в окне консоли. ------------------------------------------
    for (int i = 0; i < 6; ++ i) {
        for (int j = 0; j < 6; ++j) {
            cout << rects[j][i] << ' ';
        }
        cout << '\n';
    }
 
    _getch();
    return 0;
}
Добавлено через 43 минуты
Вариант получше:
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
// Рисование квадрата символами в консоли. ------------------------------------
#include <iostream>
#include <conio.h>
 
using namespace std;
// Фукция, которая рисует квадраты на окне консоли. ---------------------------
// PEN - символ, которым будут нарисованы квадраты. ---------------------------
// SIZE_RECT1 - размер внешнего квадрата. -------------------------------------
// SIZE_RECT2 - размер внутреннего квадрата относительно сторон внешнего. -----
// Например, если SIZE_RECT1 = 10, а SIZE_RECT2 = 2, то: размер внешнего = 10,
// размер внутреннего = 10 - 2 * 2 = 6. ---------------------------------------
void draw(char PEN, int SIZE_RECT1, int SIZE_RECT2) 
{
    for (int i = 0; i < SIZE_RECT1; ++i) {
        for (int j = 0; j < SIZE_RECT1; ++j) {
                // Рисованые внешнего квадрата. -------------------------------
            if ((i == 0) || (i == SIZE_RECT1 - 1) ||
                (j == 0) || (j == SIZE_RECT1 - 1) ||
                // Рисование внутреннего квадрата. ----------------------------
                ((i == SIZE_RECT2) && 
                    (j >= SIZE_RECT2 && j <= SIZE_RECT1 - SIZE_RECT2 - 1)) ||
                ((i == SIZE_RECT1 - SIZE_RECT2 - 1) &&
                    (j >= SIZE_RECT2 && j <= SIZE_RECT1 - SIZE_RECT2 - 1)) ||
                ((j == SIZE_RECT2) &&
                    (i >= SIZE_RECT2 && i <= SIZE_RECT1 - SIZE_RECT2 - 1)) ||
                ((j == SIZE_RECT1 - SIZE_RECT2 - 1) && 
                    (i >= SIZE_RECT2 && i <= SIZE_RECT1 - SIZE_RECT2 - 1))) 
                cout << PEN;
            else cout << ' ';
        }
        cout << '\n';
    }
}
 
int main()
{
    draw('*', 12, 4);
 
    _getch();
    return 0;
}

Не по теме:

Однако мне кажеться, что куча исключений и проверок в if'е - издевательсво. Есть у кого идеи, как улучшить это?

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