Форум программистов, компьютерный форум CyberForum.ru

Рекурсивная функция рисования кривой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализация одно-х списков классами http://www.cyberforum.ru/cpp-beginners/thread1108460.html
Добрый день! Расскажите пожалуйста, как эту задачу можно написать с помощью классов. L – линейный однонаправленный список Проверить, упорядочены ли элементы списка по алфавиту.
C++ ООП. Метод считывания текста с PDF файла Напишите пожалуйста метод считывания текста с PDF файла. Очень нужно, помогите пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread1108458.html
Ссылка на объект, возвращаемый функцией C++
Безопасно ли подобное? typedef std::vector< string > vec; vec someFoo(); vec someBoo() { // что-то делаем vec & x = someFoo(); // что-то делаем с вектором 'x', удаляем некоторые элементы return x;
C++ Утилита сбора информации о системе
Доброго времени суток. Хочу написать Утилиту сбора информации о системе на C++, для интерфейса буду использовать библиотеку SDL. Стоит ли использовать именно эти средства для написания такого проекта или есть варианты получше? Посоветуйте на какие темы в изучении следует сделать упор, какие библиотеки использовать и, возможно, какую литературу на эти темы можно было бы почитать. Заранее...
C++ Палиндромы http://www.cyberforum.ru/cpp-beginners/thread1108455.html
Каждая строка текста (до символа новой строки) является выражением. Найти все выражения палиндромы. Вывести их количество и эти выражения. Учитывать регистр. Никак не могу доделать:( #include <iostream> #include <fstream> using namespace std; int main() {
C++ Умножение матриц Доброго времени суток! Проблема заключается в том что при выводе результирующей матрицы программа выводит 0 и зацикливаться //--------------------------------------------------------------------------- #include <vcl.h> #include <conio.h> #include <stdio.h> #include <iostream.h> #include <stdlib.h> подробнее

Показать сообщение отдельно
Yark0s
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 37
01.03.2014, 16:56     Рекурсивная функция рисования кривой
Помогите перевести код:
Delphi
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
60
61
62
63
64
65
66
67
68
69
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    PaintBox1: TPaintBox;
    procedure Button1Click(Sender: TObject);
    procedure Paint(x1,y1,x2,y2,k:Longint);
  private
    { Private declarations }
  public
   n: integer
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
// рекурсивная функция рисования кривой
procedure TForm1.Paint(x1,y1,x2,y2,k:Longint);
  var tx,ty:Longint;
  begin
  if n=1 then
  begin
  PaintBox1.Canvas.Pen.Color:=clRed;
  end else begin
  PaintBox1.Canvas.Pen.Color:=clRed;
  end;
   if k=0 then
    begin
     PaintBox1.Canvas.MoveTo(x1,y1);
     PaintBox1.Canvas.LineTo(x2,y2);
     Exit;
    end;
//  формулы вычисления точки,находящийся на середине отрезка и удаленной от прямой на такое расстояние
//чтобы при соединении точки с концами отрезка с данной точкой
   tx := (x1+x2) div 2 + (y2-y1) div 2;                               // ЧТО ТАКОЕ DIV??? Как его использовать на с++ ?  
   ty := (y1+y2) div 2 - (x2-x1) div 2;
// рекурсивный вызов функции,соединяющих концы отрезка с данной точкой
   Paint(x2,y2,tx,ty,k-1);                                                 // На с++ это как то не так передаётся!
   Paint(x1,y1,tx,ty,k-1);
  end;
 
procedure TForm1.Button1Click(Sender: TObject);
Var x1,y1,x2,y2,k: Integer;
begin
 PaintBox1.Width := 1000;
 PaintBox1.Height:= 650;
 PaintBox1.Canvas.Brush.Color := clWhite;
 PaintBox1.Canvas.Rectangle(0,0,PaintBox1.width,PaintBox1.height);
// задаем начальные значения кривой и устанавливаем счетчик
     x1 := 200;
     y1 := 200;
     x2 := 500;
     y2 := 500;
     k  := 24;
     Paint(x1,y1,x2,y2,k);
end;
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru