![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Множества
Opred © (2006-01-08 21:15:00)Здравствуйте МАСТЕРА! У меня есть один глупый вопрос :) Как записать множество, допустим а(1..20), в ListBox, только построчно, каждый эл. на отдельной строке. вот.
Германн (2006-01-10 01:25:00) [1]
> Все получилось, Германн огромное спасибо!!!!
Дык, не за что. :(
Я просто хотел обратить внимание на "плохо сформулированный" вопрос. Чей смысл был не понятен никому. Если, случайно, пара написанных мною строк тебе помогли, то пожалуйста.
Однако, в качестве десерта, позволь указать тебе на яную глупость в твоём коде:
Until (N In NB)And Not(N In K);
Выделенное жирным - бессмысленно, поскольку при вышеописаноом коде будет справедливо всегда!
Revan (2006-01-10 00:31:00) [2]Плохиш Может быть тебе надо читать внимательнее? Все получилось :) Я всего лишь спросил, как вывести множество в Listbox, какая разница как я его записываю, в хаотичном или нет порядке.
Все получилось, Германн огромное спасибо!!!!
Randomize;
Nb:=[1..20];
K:=[];
For I:=1 to 20 do
Begin
Repeat
N:=Random (20)+1;
Until (N In NB) And Not(N In K);
K:=K+[N];
listbox1.Items.Add(inttostr(n));
end;
Плохиш (2006-01-09 23:38:00) [3]
> вопросы будут появляться в хаотичном порядке
Я знал, я знал :-)) Хотел по-прикалываться ещё днём, да решил подождать :-))
> Revan (09.01.06 20:30) [8]
Если бы ты соизволил хотя бы что-нибуть почитать и подумать, то может быть до тебя дошло, что понятие "хаотичный порядок" для множеств не применимо. Ищи другие пути решения.
Revan (2006-01-09 20:30:00) [4]
> Это что новый способ создание задержек в программе?
Нет!!! Этот код загоняет в К цифры от 1 до 20 и они не повторяются. Мне это нужно для программы "тест", вопросы будут появляться в хаотичном порядке и не повторятся. вот.
sniknik (2006-01-09 14:16:00) [5]> Какая разница при чём?! :) Автор явно хотел загнать числа от 1 до 20 в листбокс.
возможно что и нет, множество обьявленное как от 1 до 20ти может содержать не все возможные элементы.
т.е. код требует модификации, типа
for i:=1 to 20 do
if i in a then listbox1.Items.Add(inttostr(i));
Anatoly Podgoretsky (2006-01-09 14:08:00) [6]Revan (09.01.06 13:44) [4]
Этот код равен следующему K := [1..20];
Плохиш (2006-01-09 14:04:00) [7]
> For I:=1 to 20 do
> Begin
> Repeat
> N:=Random (20)+1;
> Until (N In NB) And Not(N In K);
> K:=K+[N]; /// надо продолжить,т.е. вывести множество
> в ListBox
> End;
Это что новый способ создание задержек в программе?
После выполнения этого кода множество K будет содержать цифры от 1 до 20.
Revan (2006-01-09 13:44:00) [8]Вот такой у меня код, взял из Паскаля, там он работает, а в Делфи не могу вывести это множество.
var
Form1: TForm1;
Nb,K:set of 1..36;
Kol,g,I,N:Byte;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
Nb:=[1..20];
K:=[];
For I:=1 to 20 do
Begin
Repeat
N:=Random (20)+1;
Until (N In NB) And Not(N In K);
K:=K+[N]; /// надо продолжить,т.е. вывести множество в ListBox
End;
ПОМОГИТЕ!!!!! ПЛИЗ!!!!!!!!!!!
Bogdan1024 (2006-01-09 04:12:00) [9]Какая разница при чём?! :) Автор явно хотел загнать числа от 1 до 20 в листбокс.
Германн (2006-01-09 02:50:00) [10]
> Opred (08.01.06 21:15)
>
> Здравствуйте МАСТЕРА! У меня есть один глупый вопрос :)
> Как записать множество, допустим а(1..20), в ListBox, только
> построчно, каждый эл. на отдельной строке. вот.
Вот только смысл сего не понятен.
Ответ Bogdan1024 © (09.01.06 00:34) [1]
просто помещает в ListBox набор строковых представлений чисел от 1 до 20. Но причём тут множество?
Тогда уж:
for a:=1 to 20 do
if a in MySet then listbox1.Items.Add(inttostr(a));
Но смысл всё-равно не понятен.
Имхо, задача не поставлена. :(
Bogdan1024 (2006-01-09 00:34:00) [11]for a:=1 to 20 do listbox1.Items.Add(inttostr(a));