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

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

Войти
Регистрация
Восстановить пароль
 
VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
#1

Круг в консоли - C++

03.06.2014, 21:30. Просмотров 341. Ответов 5
Метки нет (Все метки)

Всем привет!
Буду благодарен, если кто-нибудь сможет подсказать решение.
И так, имеется класс Circle, задается радиус и нужно отрисовать в консоли круг с помощью звездочек "*".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 21:30     Круг в консоли
Посмотрите здесь:

С++, круг минимального радиуса C++
C++ Треугольник, круг, прямоугольник
C++ закрасить круг
C++ круг
C++ класс круг С++
Треугольник и круг STL C++
Круг и прямая C++
C++ Как нарисовать круг
Нарисовать круг в классе C++
C++ Направление движения (круг)
C++ Круг, окружность в С++
Написать программу, которая будет воспроизводить движущуюся графику в консоли, например, подвижной круг C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.06.2014, 21:37     Круг в консоли #2
см. алгоритм Брезенхема.
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
03.06.2014, 21:39     Круг в консоли #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <conio.h>
void main()
{
    HWND hwnd;       
    char Title[1024];
    GetConsoleTitle(Title, 1024); // Узнаем имя окна
    hwnd=FindWindow(NULL, Title); // Узнаем hwnd окна
    RECT rc;
    GetClientRect(hwnd,&rc);
    int w=rc.right; // ширина окна
    int h=rc.bottom; // высота окна
    HDC hdc=GetDC(hwnd);    // Получаем контекст для рисования
    int R=100; // Радиус
    Ellipse(hdc,w/2-R,h/2-R,w/2+R,h/2+R);
    ReleaseDC(hwnd,hdc);    // Освобождаем контекст рисования
    _getch();
    
}
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.06.2014, 21:46     Круг в консоли #4
zss,
Цитата Сообщение от VitoAcidrain Посмотреть сообщение
с помощью звездочек "*".
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
03.06.2014, 21:51     Круг в консоли #5
Tulosba, звездочками некрасиво, да и лень.
VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
03.06.2014, 22:24  [ТС]     Круг в консоли #6
Спасибо, что откликнулись!
Заметил ошибку в решении, которое сам пилил. Взгляд замылился и не заметил, что не дописал строчку.
Выкладываю решение моего вопроса. Может кому пригодится.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void circle::draw() {
    int x, y;
 
    cout << "Draw circle:\n\n";
 
    for (y = 0; y < 2 * circle_radius + 1; y++){
        for (x = 0; x < 2 * circle_radius + 1; x++){
            if ((int)hypot(abs(circle_radius - x), abs(circle_radius - y)) == circle_radius){ // Функция hypot вычисляет длину гипотенузы прямоугольного треугольника с заданной длиной двух сторон x и y.Вызов hypot эквивалентен следующему :sqrt(x*x + y*y);
                cout << "*";
            }
            else {
                cout << " ";
            }
        }
        cout << "\n";
    }
 
    cout << "\n";
}
Yandex
Объявления
03.06.2014, 22:24     Круг в консоли
Ответ Создать тему
Опции темы

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