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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не срабатывает метод класс Clear(); http://www.cyberforum.ru/cpp-beginners/thread1497738.html
День добрый форумчане, подскажите пожалуйста почему не срабатывает в обычном режиме метод класса Clear(); А если прогонять через отладку то работает ? #define _CRT_SECURE_NO_WARNINGS #define MAX_LENGTH_STRING 50 #include <iostream> #include <cstdlib>
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++ Не получается создать класс Account из книги Дейтелов http://www.cyberforum.ru/cpp-beginners/thread1497620.html
Задача: Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для представления банковского баланса.Класс должен предусматривать конструктор для инициализации элемента данных. Конструктор должен подтверждать значение начального баланса и гарантировать, что оно больше или...
C++ Напечатать слова последовательности, которые отличны от последнего слова и удовлетворяют заданным свойствам Дана последовательность, содержащая до 5 слов, в каждом из которых до 5 строчных латинских букв; между соседними словами — не менее одного пробела, за последним словом точка. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: 1) каждая буква входит в слово не менее двух раз; 2) в слове гласные буквы (a, e, i, o, u)... подробнее

Показать сообщение отдельно
Gelo123321
 Аватар для Gelo123321
21 / 21 / 4
Регистрация: 05.01.2012
Сообщений: 279
Завершенные тесты: 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'е - издевательсво. Есть у кого идеи, как улучшить это?

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