С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 4
1

Треугольник Серпинского на C++

20.05.2020, 18:04. Показов 3416. Ответов 3

Author24 — интернет-сервис помощи студентам
Задание нужно сделать треугольник Серпинского. У меня есть код через библиотеку graphics.h, но выдает ошибку "Drawing operation was attempted when there was no current window". Я понимаю, что не создается окно, но сколько я в интернете не искал, найти решение не могу. Просьба помочь переписать программу так, чтобы она работала. Заранее попрошу писать по делу, а не аля "Тебе нужно языку подучиться", "Читай директивы". Я еще не настолько хорошо разбираюсь, чтобы понимать их на 100%.
Должно пройти изменений с коэффициентом n=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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <graphics.h>
#include <windows.h>
 
using namespace std;
 
void tr(float x1, float y1, float x2, float y2, float x3, float y3){
    moveto(round(x1), round(y1));
    lineto(round(x2), round(x2));
    lineto(round(x3), round(y3));
    lineto(round(x1), round(y1));
}
 
void draw (float x1, float y1, float x2, float y2, float x3, float y3, float p, int n){
    float x1n, y1n, x2n, y2n, x3n, y3n;
    if (n > 0){
        x1n=(x1+x2)*p;
        y1n=(y1+y2)*p;
        x2n=(x2+x3)*p;
        y2n=(y2+y3)*p;
        x3n=(x3+x1)*p;
        y3n=(y3+y1)*p;
        tr(x1, y1, x2, y2, x3, y3);
        draw(x1,y1,x1n,y1n,x3n,y3n,p,n-1);
        draw(x2,y2,x1n,y1n,x2n,y2n,p,n-1);
        draw(x3,y3,x2n,y2n,x3n,y3n,p,n-1);
    }
}
 
int main(){
    HWND hwnd = GetConsoleWindow();
    HDC hdc = GetDC(hwnd);
    HBRUSH hBrush = CreateSolidBrush(RGB(0,255,255));
    
    
    int n,x,y,a,d,h,x1,y1,x2,y2,x3,y3;
    float p;
    n=5;
    setviewport(600,600,600,600,1);
    x=600/2;
    y=600/2;
    a=600;
    d=a/2;
    h=round(a*sqrt(3)/4);
    x1=x-d;
    y1=y+h;
    x1=x;
    y2=y-h;
    x3=x+d;
    y3=y1;
    p=0.5;
    tr(x1,y1,x2,y2,x3,y3);
    draw(x1,y1,x2,y2,x3,y3,p,n);
    
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2020, 18:04
Ответы с готовыми решениями:

Треугольник (салфетка) Серпинского
Есть рабочий код на Builder C++, но он строит ковёр Серпинского, помогите переделать, чтобы строил...

Треугольник Серпинского в SVGdraw
Люди, помогите пожалуйста У меня есть код, который нужно дополнить что бы в результате программа...

Рекурсия: Треугольник Серпинского k-го порядка
Разработайте рекурсивный алгоритм, рисующий: Оценить время выполнения алгоритма.

Треугольник Серпинского
Вот новое условие. Наприсовать триугольник серпинского. Делать надо так: рисуетса ровностороний...

3
случайный прохожий
3052 / 2084 / 628
Регистрация: 20.07.2013
Сообщений: 5,609
21.05.2020, 00:56 2
Вариант "не через консольное окно, а через обычное виндовое": Треугольник (салфетка) Серпинского
0
Модератор
9645 / 6252 / 2426
Регистрация: 21.01.2014
Сообщений: 26,670
Записей в блоге: 3
21.05.2020, 07:47 3
fhock1337, а Вы уверены, что Вам требуется именно C++ Builder, а не C++?
0
0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 4
21.05.2020, 10:01  [ТС] 4
D1973, Эммм. Ошибся с разделом, есть возможность перенести ее?))
0
21.05.2020, 10:01
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2020, 10:01
Помогаю со студенческими работами здесь

Треугольник Серпинского
Помогите испарить ошибки, пожалуйста :( #include &lt;iostream&gt; #include &lt;glut.h&gt; void...

Треугольник Серпинского
Подскажите,что и где нужно исправить,чтоб получалась нормальная рекурсия,а точнее треугольник...

Треугольник Серпинского
Скажите пожалуйста что не так с кодом? Ругается на имя Serp. unit Unit1; interface uses ...

Треугольник Серпинского
Дан треугольник Серпинского. (Одинаковые) события надо выделить (одинаковыми) цветами. Добавлено...

Треугольник Серпинского
Здравствуйте, я нарисовал в Excelе Треугольник Серпинского, но получилось основная формула в лишних...

треугольник Серпинского
Помогите пожалуйста написвть программу построения треугольника Серпинского с подробным описанием...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru