0 / 0 / 0
Регистрация: 11.09.2019
Сообщений: 24

Задача на построение треугольника Серпинского

10.11.2019, 00:34. Показов 3121. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание во вложении, написать код для треугольника Паскаля могу, но вот как построить вот эту ... штуку у меня идей нет. Заранее спасибо.
Миниатюры
Задача на построение треугольника Серпинского  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2019, 00:34
Ответы с готовыми решениями:

Построение треугольника Серпинского
нужно построить треугольник серпинского с помощью рекурсии на java.

Задача на построение ковра Серпинского
Вот код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

Задача на построение треугольника
Здравствуйте друзья. Работаю над игрой в которой нужно будешь решать геометрические задачи на построение. Задания беру из учебников для...

6
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
10.11.2019, 02:32
как-то так
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
#include <iostream>
#include <Windows.h>
 
struct Triangle
{
    double x;
    double y;
    double side;
};
 
HWND hWnd = GetConsoleWindow();
HDC hdc = GetWindowDC(hWnd);
HPEN pen = CreatePen(PS_SOLID, 1, RGB(192, 192, 192));
HPEN oldPen = (HPEN)SelectObject(hdc, pen);;
POINT offset{ 250, 300 };
 
void foo(Triangle tr, size_t deep) {
    if (deep == 0) return;
    MoveToEx(hdc, tr.x + offset.x, -tr.y + offset.y, NULL);
    LineTo(hdc, tr.x + offset.x, -(tr.y + tr.side) + offset.y);
    LineTo(hdc, (tr.x + tr.side) + offset.x, -tr.y + offset.y);
    LineTo(hdc, tr.x + offset.x, -tr.y + offset.y);
    tr.side /= 2;
    --deep;
    foo({ tr.x, tr.y, tr.side }, deep);
    foo({ tr.x, tr.y + tr.side, tr.side }, deep);
    foo({ tr.x + tr.side, tr.y, tr.side}, deep);
}
 
int main()
{
    double size = 200;
    foo({ 0, 0, size }, 6);
 
    SelectObject(hdc, oldPen);
    DeleteObject(pen);
    ReleaseDC(hWnd, hdc);
    return 0;
}
3
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,990
Записей в блоге: 32
10.11.2019, 02:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int m[32][64];
 
void f(int x, int y, int o) {    
    if (o<=1) { m[y][x]=1; return; }
    int d=o/2;
    f(x, y, d);
    f(x, y+d, d);
    f(x+o, y+d, d);
}
 
int main() {
    int n; cin >> n; int o=1<<n;
    f(0, 0, o);
    for (int y=0; y<o; y++) {
        for (int x=0; x<2*o; x++) cout << (m[y][x] ? '@' : ' ');
        cout << "\n";
    }
}
Code
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
@                                                               
@ @                                                             
@   @                                                           
@ @ @ @                                                         
@       @                                                       
@ @     @ @                                                     
@   @   @   @                                                   
@ @ @ @ @ @ @ @                                                 
@               @                                               
@ @             @ @                                             
@   @           @   @                                           
@ @ @ @         @ @ @ @                                         
@       @       @       @                                       
@ @     @ @     @ @     @ @                                     
@   @   @   @   @   @   @   @                                   
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                 
@                               @                               
@ @                             @ @                             
@   @                           @   @                           
@ @ @ @                         @ @ @ @                         
@       @                       @       @                       
@ @     @ @                     @ @     @ @                     
@   @   @   @                   @   @   @   @                   
@ @ @ @ @ @ @ @                 @ @ @ @ @ @ @ @                 
@               @               @               @               
@ @             @ @             @ @             @ @             
@   @           @   @           @   @           @   @           
@ @ @ @         @ @ @ @         @ @ @ @         @ @ @ @         
@       @       @       @       @       @       @       @       
@ @     @ @     @ @     @ @     @ @     @ @     @ @     @ @     
@   @   @   @   @   @   @   @   @   @   @   @   @   @   @   @   
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
1
0 / 0 / 0
Регистрация: 11.09.2019
Сообщений: 24
10.11.2019, 11:46  [ТС]
А если создать треугольник Паскаля вот так, можно ли как то тогда применить ваш код?
Миниатюры
Задача на построение треугольника Серпинского  
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,990
Записей в блоге: 32
10.11.2019, 15:29
Разумеется. Можно и создать треугольник Паскаля, и применить мой код. Они не будут друг другу мешать.
0
0 / 0 / 0
Регистрация: 11.09.2019
Сообщений: 24
10.11.2019, 15:46  [ТС]
У Вас получается не используется треугольник Паскаля? Я немного не понимаю. Просто я пытался написать, как у вас, используя написанный мной код для треугольника Паскаля, ничего не вышло
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,990
Записей в блоге: 32
10.11.2019, 16:13
Простите, что вынужден сказать это - в моем коде не используется треугольник Паскаля. Сожалею.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2019, 16:13
Помогаю со студенческими работами здесь

Задача на графику (построение треугольника)
Необходимо построить и закрасить треугольник с вершинами (100,100), (150,100), (80,170).

Масштабирование треугольника Серпинского
Такой вопрос, я рисую треугольник Серпинского на форме но когда его глубина становится больше 10 то пиксели начинаю закрашиваться...

Рисование треугольника Серпинского с помощью GTK
Всем доброго времени суток! Сейчас разбераю тему фракталов и нашел код программы для построения треугольника Серпинского: #include...

Перевести построение узора Серпинского с Pascal на C++
Нужно перевести построение Серпинского узора на С++ unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Построение фрактала «Треугольник Серпинского» с возможностью изменения числа образующих примитивов с помощью клавиш
Доброго времени суток. Помогите реализовать программу на языке Java реализующую построение фрактала «Треугольник Серпинского» с...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru