|
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 129
|
|
Написать программу, которая рисует на экране кривую Гильберта (использовать рекурсию)12.12.2015, 15:34. Показов 1972. Ответов 4
Метки нет (Все метки)
Здравствуйте. код написан на С++ но мне нужно чтобы он был написан на C# Windows Form. Заранее Спасибо.
Код Программы: #include "stdafx.h" #include <windows.h> #include <iostream> using namespace std; int z; void mylineTo(HDC hDC, bool c, int x, int y) { HPEN pen = CreatePen(PS_SOLID, 1, c ? RGB(255, 255, 255) : RGB(0, 0, 0)); SelectObject(hDC, pen); LineTo(hDC, x, y); DeleteObject(pen); } void sq4(HDC hDC, int x, int y) { int d[]={-1,0,1,0,-1}; MoveToEx(hDC, x-z, y, NULL); for(int i=0; i<4; ++i) mylineTo(hDC, 1, x+z*d[i+1], y+z*d[i]); } void sqc(HDC hDC, int x, int y) { int dx[]={-1,1,1,-1}, dy[]={-1,-1,1,1}, k[2][3]={{2*z,z,0},{z,2*z,3*z}}; MoveToEx(hDC, x-3*z, y, NULL); for(int i=0; i<4; ++i) for(int j=0; j<3; ++j) mylineTo(hDC, 1-j%2, x+dx[i]*k[i%2][j], y+dy[i]*k[1-i%2][j]); } void f(HDC hDC, int x, int y, int n) { int d=4*z*(1<<(n-1)), dx[]={-1,-1,1,1}, dy[]={-1,1,-1,1}; for(int i=0; i<4; ++i) if (n) f(hDC, x+d*dx[i], y+d*dy[i], n-1); else sq4(hDC, x+2*z*dx[i], y+2*z*dy[i]); sqc(hDC, x, y); } int _tmain(int argc, _TCHAR* argv[]) { HWND hW = GetConsoleWindow(); HDC hDC = GetDC(GetConsoleWindow()); setlocale(LC_ALL, "Russian"); unsigned int n,d; while (1) { system("cls"); cout<<"Увеличьте высоту консоли, введите порядок фрактала (0-5)\n"; //2 / 5 cout<<"и длину стороны меньшего элемента в пикселях (1-10): "; cin>>n>>z; d=8*z*(1<<(n-1)); unsigned int size=2*d; if (size>512) { cout<<"Длина стороны будет "<<size<<" пикселей. Попробуйте другие данные.\n"; system("pause"); } else break; } f(hDC, d+5*z, d+5*z+30, n); ReleaseDC(hW, hDC); system("pause"); return 0; }
0
|
|
| 12.12.2015, 15:34 | |
|
Ответы с готовыми решениями:
4
Написать программу, которая рисует на экране шестиугольник
|
|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
||||||
| 13.12.2015, 09:06 | ||||||
Сообщение было отмечено Fadjr как решение
Решение
2
|
||||||
|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
|
| 13.12.2015, 09:08 | |
|
Вот что получается
1
|
|
|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
|
| 13.12.2015, 09:08 | |
|
По теме:
Почему то Pens.Transparent не работает.
0
|
|
|
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 129
|
|
| 13.12.2015, 13:07 [ТС] | |
|
Спасибо огромное всем откликнувшимся, если бы не вы я бы не получил 5 за это.....Дай вам бог мозгов побольше
0
|
|
| 13.12.2015, 13:07 | |
|
Помогаю со студенческими работами здесь
5
Написать программу, которая рисует на экране решётку.
Написать программу, которая рисует на экране грустную рожицу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|