Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 20:56   #1
Яна696
Пользователь
 
Аватар для Яна696
 
Регистрация: 07.11.2011
Сообщений: 53
Восклицание Фракталы!!!!!!!!!!!!!!!!!!!!!!

Напишите программу, позволяющую построить фрактал Кладбище Серпинского в зависимости от введённого пользователем n уровней. Возьмите за основу пример построения треугольника Серпинского.



очень срочно((((((
А может я слегка обнаглела?...
Яна696 вне форума Ответить с цитированием
Старый 08.11.2011, 09:44   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Яна696 Посмотреть сообщение
очень срочно((((((
[offtop]Вот, странные люди - неужели не понимают, что этим сами себе вредят?.. Я гораздо охотнее отвечу, если написано "сдавать через полгода, но очень хочется порешать." А как вижу "срочно!!" - так обычно сразу назад. Тут еще хоть тема интересная, повезло автору, да и то уж я тянул, как мог..[/offtop]

Короче, вот оно. Но картинка, к сожалению, получилась совсем неинтересная. Чтобы хоть как-то разнообразить, я попробовал красить каждый уровень другим цветом (раскомментируйте строку в Cross). Получилось чуть повеселее, но все равно скукотища..
Код:
{ Sierpinski cemetery
  by TinMan, programmersforum.ru }

uses
  Graph;

procedure Cross(x,y,a: single; lev: word);
begin
  a:= a/3;
  // SetFillStyle(SolidFill,lev);  // coloring
  Bar(round(x+a),round(y),round(x+2*a),round(y+a));
  Bar(round(x),round(y+a),round(x+3*a),round(y+2*a));
  Bar(round(x+a),round(y+2*a),round(x+2*a),round(y+3*a));
  if lev>1 then begin
    Cross(x,y,a,lev-1);
    Cross(x+2*a,y,a,lev-1);
    Cross(x,y+2*a,a,lev-1);
    Cross(x+2*a,y+2*a,a,lev-1)
  end
end;

var
  gd,gm,d,l,level: integer;

begin
  write('enter the level (1..7): ');
  readln(level);
  InitGraph(gd,gm,'');
  d:= (GetMaxX-GetMaxY) div 2;
  l:= GetMaxY-2;
  SetLineStyle(SolidLn,0,3);
  Rectangle(d,1,GetMaxX-d,l);
  SetFillStyle(SolidFill,LightGray);
  Cross(d,1,l,level);
  readln;
  CloseGraph
end.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 08.11.2011, 12:55   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
но все равно скукотища..
Ну а что Вы хотите от кладбища...
puporev вне форума Ответить с цитированием
Старый 08.11.2011, 15:24   #4
Яна696
Пользователь
 
Аватар для Яна696
 
Регистрация: 07.11.2011
Сообщений: 53
По умолчанию

Спасибо большое !! Большое! Пребольшое! И вообще, человеческое!!!!!)))
А может я слегка обнаглела?...
Яна696 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фракталы. Перенос. stscolt Помощь студентам 1 12.12.2009 08:43
C++ Builder, Фракталы sqwo Помощь студентам 1 09.03.2009 19:27
Java фракталы tatano4ka Общие вопросы по Java, Java SE, Kotlin 3 29.04.2008 20:16