Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.03;
Скачать: CL | DM;

Вниз

Множества (Set)   Найти похожие ветки 

 
novice_   (2004-02-19 08:28) [0]

Есть две картинки, на которых отображен какие-то элементы. Эти картинки имеют одинаковые размеры и используется только два цвета: черный и белый. Надо перетащить всё в два разных множества (как добавлять элемент в множество???). А потом сделать вычитание (ну это понятно как). Сделать проход по множеству 3 (результируещее) (Как можно проверить все элементы в множестве??? Перебрать все присутствующие???)


 
Radionov Alexey ©   (2004-02-19 08:33) [1]

А что планируется сделать элементом множества?
(на всякий случай: в Delphi max мощность множества=256)


 
Defunct ©   (2004-02-19 08:42) [2]

IMHO двумерный массив подойдет как нельзя лучше

W - ширина картинки
H - высота картинки

TPictureSet = Array[1..W,1..H] of Byte;

Var Pic1,Pic2, PicRes : TPicturesSet;

Ну а дальше просто работаем с массивом, с оговорками. Пусть белый цвет равен 1, черный - 0.
Например вычитание:

For X:=1 To W Do
For Y:=1 To H Do
PicRes[X,Y] := Pic1[X,Y] And Pic2[X,Y];


Сложение:
For X:=1 To W Do
For Y:=1 To H Do
PicRes[X,Y] := Pic1[X,Y] Or Pic2[X,Y];


 
novice_   (2004-02-19 08:46) [3]

надо именно со множествами! Лабораторная такая у меня. Основные задачи показать как я уменю оперировать с множествами:
вычитание, сложение, пробег с выводом результата!


 
jack128 ©   (2004-02-19 08:58) [4]

еще раз. Чтот является у тя элиментом множества? Если картинки (TImage), то не получится, элеменром множества могут быть только перечисляемые типы +
> Radionov Alexey © (19.02.04 08:33) [1]


 
Defunct ©   (2004-02-19 09:02) [5]

Не могу себе представить как можно двумерную картинку описать в виде множества средствами Delphi/pascal.

А работать с множествами оч. просто:

Type
MySet = Set of Byte;

Var A,B,C,D : MySet;
I : Byte;

..
A := [10,40,50,80,91];
B := [2,5,10,60,80,90];
C := A + C;
D := A - B;

For I:=0 To 255 Do
Begin
If I in A Then .. DoSomething..;
If I in B Then .. DoSomething..;
If I in C Then .. DoSomething..;
If I in D Then .. DoSomething..;
End;


 
Cobalt ©   (2004-02-19 09:08) [6]

2 novice_ (19.02.04 08:46) [3]
Тогда уменьшайте картинки, или поговорите с вашим преподом - неужели он не знает ограничения множеств???


 
KSergey ©   (2004-02-19 09:13) [7]

> [3] novice_ (19.02.04 08:46)
> Основные задачи показать как я уменю оперировать с множествами:

А я было подумал, что основная задача этой лабораторной - показать как я умею пользоваться интеренетом...


 
Defunct ©   (2004-02-19 09:22) [8]

Defunct © (19.02.04 09:02) [5]
zzz Очепятка
C := A + B;


 
TUser ©   (2004-02-19 09:27) [9]

Наверное надо писать класс, типа TMySet. Там будет некое поле FSetElements, типа массив картинок. Потом надо реализовать основные операции с множетсвами, типа - поиск (есть ли элемент в мн-ве), вычитание, сложение и что там тебе еще надо. А потом уже приступить к выполнению основной задачи, если уж обязательно преподу надо, чтобы ты с такими мн-вами на Delphi работал. Вот так.


 
Defunct ©   (2004-02-19 12:00) [10]

Наврятли, для лабораторки по работе со множествами никто не требует знаний ООП.


 
TUser ©   (2004-02-19 12:10) [11]

Ну не могут же они требовать знаний приемов работы в Delphi со множествами картинок. А из ООП требуется знать самую малость - ничего даже наследовать не придется, один класс со своими множествами.
Хотя я сам, честно говоря, таких лабораторок не делал. Не знаю чего там требуется, а чего нет. На сколько хотьб времени такое задание дается? 2 часа есть?



Страницы: 1 вся ветка

Текущий архив: 2004.03.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-6146
novi
2004-02-21 18:54
2004.03.03
Как удалить пробелы


3-5946
snake2003
2004-02-06 11:42
2004.03.03
загрузить blob поле в richedit


1-6154
Mishenka
2004-02-18 21:34
2004.03.03
Как переконвертировать BMP в GIF ???


14-6211
syte_ser78
2004-02-11 14:45
2004.03.03
Мастера, обьяснить плиз тупому...


6-6178
RaPToR_1
2003-12-26 21:46
2004.03.03
ping