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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 22:12   #1
psy_shit
 
Регистрация: 30.01.2011
Сообщений: 7
По умолчанию Сгенерировать все подмножества (Delphi)

Сгенерировать все подмножества данного n-элементного множества {0,..., n-1}.

это вообще как сделать? О_О
psy_shit вне форума Ответить с цитированием
Старый 17.02.2011, 11:22   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

наводка )
допустим множество 0,1,2,3 из 4 элементов.

его подмножества:
0; 1; 2; 3; 0,1; 0, 2; 0,3; 1, 2; 1, 3; 2, 3; 0, 1, 2; 0, 1, 3 ; 0, 2, 3 ; 1, 2, 3 ; по идее можно принять и 0,1,2,3 как подмножество множества (ибо условие вхождения всех элементов подмножества в множество есть)

а сделать, ну циклами, рекурсией... сперва узнай как с ними работать, а за реализацией дело не станет

а в дельфи - можно и вывод организовать просто - на TStringGrid обрати внимание
phomm вне форума Ответить с цитированием
Старый 17.02.2011, 18:57   #3
psy_shit
 
Регистрация: 30.01.2011
Сообщений: 7
По умолчанию

спасибо, буду разбираться
если кто хочет помочь, милости просим)))
psy_shit вне форума Ответить с цитированием
Старый 17.02.2011, 20:15   #4
psy_shit
 
Регистрация: 30.01.2011
Сообщений: 7
По умолчанию

блин, ну дайте еще подсказку
вот то, что я сделал, генерируются только двузначные подмножества


Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, Grids, StdCtrls;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    SpeedButton1: TSpeedButton;
    Memo1: TMemo;
    procedure Edit1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,x,i:integer;
  mas:array [0..99] of integer;


implementation

{$R *.dfm}


procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.text='' then exit;
n:=strtoint(edit1.Text);

    if n>100 then begin
        showmessage('Error');
        exit;
    end;

stringgrid1.ColCount:=n;

randomize;
     for x:=0 to n-1 do begin
        mas[x]:=random(10);
        stringgrid1.Cells[x,0]:=inttostr(mas[x])
     end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 for i:=0 to n-1 do begin
  for x:=0 to n-1 do begin
       memo1.lines.add(inttostr(mas[i])+inttostr(mas[x]));
  end;
 end;
end;

end.
psy_shit вне форума Ответить с цитированием
Старый 24.02.2011, 13:39   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Задание выполнено, за ценой в аську (в профиле), не сильно большая будет, договоримся. По расчету будут предоставлены исходники и сможешь заменить кнопку-тизер на свой aboutbox (могу и сам заменить)

заметка модератору, задание делал прежде всего для себя, интересно было разобраться, однако, хотелось бы хоть немного возместить потраченое время (раздел, думаю, позволяет мне поступить так), если автор не отзовется через месяц где-то сюда будут исходники для общественности ))
Изображения
Тип файла: gif subsetgen.GIF (11.3 Кб, 206 просмотров)
Вложения
Тип файла: zip SubSetGen.zip (175.7 Кб, 84 просмотров)

Последний раз редактировалось phomm; 24.02.2011 в 13:42.
phomm вне форума Ответить с цитированием
Старый 09.03.2011, 21:49   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Написана программа ТС-у, возражений по публикованию оплаченной им работы он не имел, посему , весь проект по ссылке, кому-то может и понадобится, код обильно откомментирован

http://www.phomm.narod.ru/subsetgen1.1.zip
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск подмножества Lodyr Общие вопросы C/C++ 15 27.11.2010 21:38
Нахождение максимального подмножества Lodyr Общие вопросы C/C++ 0 10.11.2010 23:09
Как сгенерировать число от -1 до 36 vadmaruschak Помощь студентам 1 08.10.2009 23:26
Сгенерировать много GIF Dj_smart Мультимедиа в Delphi 3 20.05.2008 21:38
Помогите! Множества, подмножества в Bisual C++ 6 VBlond Помощь студентам 1 28.11.2007 20:00