Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

Множества (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-6057
den777
2004-02-18 15:17
2004.03.03
Принудительная регистрация OLE-сервера


1-6152
Санек
2004-02-19 14:02
2004.03.03
Список форм приложения


6-6171
NewD
2003-12-26 13:46
2004.03.03
Как переадресовать запрос на др. комп. в др. сети


1-6108
VID
2004-02-13 02:23
2004.03.03
TEmbeddedWB всё время спрашивает пароль...


14-6215
Dr.Karter
2004-02-11 14:33
2004.03.03
Надо бросить в FAQ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский