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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2014, 21:32   #1
SofiNNN
 
Регистрация: 16.11.2014
Сообщений: 4
По умолчанию функция draw для вывода дерева из букв T (C++ Builder)

Как заменить функцию draw из старой версии билдера, в новой версии, чтоб рисовало дерево из букв Т
Код:
#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 float fx=0.5,fy=0.4,threshold=70;
void T(float xA,float yA,float a,float b,int n)
{ float xB,yB,xC,yC,xD,yD,a1,b1;
if(n>0)
{ xB=xA; yB=yA+a;
  xC=xB-b; yC=yB;
  xD=xB+b;yD=yB;
  a1=fy*a;
  if(a1<0)a1=-a1;
  b1=fx*b;
  Form1->Canvas->MoveTo(xA,yA); Form1->Canvas->Draw(xB,yB);
  Form1->Canvas->Draw(xC,yC);
  T(xC,yC,(rand()%100>=threshold ? -a1:a1),b1,n-1);
  Form1->Canvas->MoveTo(xB,yB); Form1->Canvas->Draw(xD,yD);
  T(xD,yD,(rand()%100>=threshold ? -a1:a1),b1,n-1);
  }
    }
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------
            /* TTREE:                     */





void __fastcall TForm1::FormPaint(TObject *Sender)
{
     float a,b,powerfx,powerfy;
  int n=7,i;
  long t;
  int x_max,y_max;
  time(&t);
  srand((int)t);
 /* printf("\n vvedite znachenia koefficientov:\n"
            "\n    fx   fy glubina rekursii %ymen'shenya vverx"
            "\n\n(0.5 0.4 7 70)\n\n");  */
            //printf("              ");
            //scanf("%f %f %d %f",&fx,&fy,&n,&threshold);

            powerfx=fx; powerfy=fy;
            for(i=2;i<=n;i++)
            {
            powerfx*=fx; powerfy*=fy;
            }
            b=0.5*x_max*(1-fx)/(1-powerfx);
            a=y_max*(1-fy)/(1-powerfy);
            T(x_max/2,y_max/2-a,a,b,n);



}
//---------------------------------------------------------------------------



___________
1) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)

2) Кросспостинг (создание одинаковых тем и сообщений) СТРОГО запрещён правилами форума!

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.12.2014 в 10:12.
SofiNNN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прогу нужно сделать визуализованной в VS10 и справить ошибку вывода дерева Eternal888 Visual C++ 3 07.06.2012 15:35
Нужна функция(Макрос) для вывода номеров и категорий в таблице alexp21 Microsoft Office Excel 4 26.09.2011 23:32
Вывод дерева на форму в c++ builder CodeNOT C++ Builder 1 15.05.2011 16:10
запрос для вывода дерева. bondik SQL, базы данных 1 06.12.2010 07:50
Функция для вывода на дисплей целых чисел. alex_8 Помощь студентам 3 24.05.2010 15:59