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

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - 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