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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2013, 19:30   #1
Arti Jesso
Новичок
Джуниор
 
Регистрация: 31.03.2013
Сообщений: 2
По умолчанию Канторово множество

Здравствуйте! Есть у кого код на делфи для реализации такого множества? Нужно с помощью рекурсии, а я с ней не дружу что-то, по ходу

Заранее спасибо!

Или хотя бы кусочек, алгоритм..что-нибудь. А то моя рекурсия больше на цикл похожа.
Изображения
Тип файла: jpg Канторово.jpg (54.3 Кб, 153 просмотров)

Последний раз редактировалось Arti Jesso; 31.03.2013 в 19:41.
Arti Jesso вне форума Ответить с цитированием
Старый 31.03.2013, 20:19   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

На компьютере такое множество принципиально нереализуемо.
Об этом совсем несложно догадаться, если понимать, что канторово множество континуально, а множество чисел, представимых в компьютере, даже меньше чем счетно - конечно.
s-andriano вне форума Ответить с цитированием
Старый 31.03.2013, 20:35   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Рисует что-то похожее (дельфи):
Код:
procedure cantor(c: tcanvas; a, b: tpoint; n: integer);
const
  d = 4;
begin
  if n = 0 then
    exit;
  c.MoveTo(a.X, a.y);
  c.LineTo(b.X, b.y);
  cantor(c, point(a.X, a.y + d), point(round(2 / 3 * a.X + 1 / 3 * b.X),
      a.y + d), n - 1);
  cantor(c, point(round(1 / 3 * a.X + 2 / 3 * b.X), a.y + d),
    point(b.X, b.y + d), n - 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  cantor(Form1.Canvas, point(10, 100), point(500, 100), 10);
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 31.03.2013, 20:53   #4
Arti Jesso
Новичок
Джуниор
 
Регистрация: 31.03.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Рисует что-то похожее (дельфи):
Код:
procedure cantor(c: tcanvas; a, b: tpoint; n: integer);
const
  d = 4;
begin
  if n = 0 then
    exit;
  c.MoveTo(a.X, a.y);
  c.LineTo(b.X, b.y);
  cantor(c, point(a.X, a.y + d), point(round(2 / 3 * a.X + 1 / 3 * b.X),
      a.y + d), n - 1);
  cantor(c, point(round(1 / 3 * a.X + 2 / 3 * b.X), a.y + d),
    point(b.X, b.y + d), n - 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  cantor(Form1.Canvas, point(10, 100), point(500, 100), 10);
end;
Спасибо Вам большое, добрый человек! Буду сейчас сидеть, разбираться, как это работает х)
Arti Jesso вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множество, содержащее натуральные числа из первой сотни. Сформировать новое множество из простых чисел первого множества Aimet Паскаль, Turbo Pascal, PascalABC.NET 3 16.06.2011 20:50
Дано множество А, напечатать четные элементы, входящие в другое множество (Паскаль) Марийка92 Помощь студентам 4 03.04.2011 17:38
Задано некоторое множество М и множество Т того же типа dark999 Помощь студентам 5 01.04.2011 14:17
множество. Killowatt Помощь студентам 3 02.05.2010 18:58
множество. Юлька:) Помощь студентам 1 30.03.2009 21:27