IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Множество
Sav93
сообщение 4.03.2011 15:59
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


Задача: Есть N множеств, найти множество содержащей больше различных элементов, все возможные елементы множества заданы в массиве С.
 
Program LabRob2;
Uses CRT;
Type
TypeSet = set of byte;
Var
C:array [1..12] of TypeSet;
r,n,j,i,k:byte;
BEGIN
ClrScr;
WriteLn('Vvedite elementi mnozhestva: ');
Randomize;
For i:=1 to 12 Do
Begin
r:=Random(9);
Include(C[i],r);
end;
ReadKey;
END.


Нужно цикл, который будет заполнять все множества и цикл которы будет проверять различные элементы, тоесть цикл в цикле как я понимаю. Но не знаю как их записать...не получается что-то...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Sav93
сообщение 4.03.2011 21:00
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской
Реальное имя: Василий

Репутация: -  0  +


Дано N множеств, найти множество содержащее максимальное количество элементов, все возможные елементы множества заданы в массиве С.
Вот так она звучит.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 5.03.2011 7:23
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Sav93 @ 4.03.2011 21:00) *
Дано N множеств, найти множество содержащее максимальное количество элементов, все возможные елементы множества заданы в массиве С.
Вот так она звучит.

Если она так звучит, то ты начал делать неправильно: у тебя массив C - это как раз массив множеств.
Вот, как-то так, думаю, нужно..
Program LabRob2;

const
n= 12; {кол-во множеств}
l= 50; {кол-во возможных элементов}
d= 10;

Type
TypeSet = set of byte;

Var
s:array [1..n] of TypeSet;
c: array [1..l] of byte;
t: TypeSet;
i,j,k,m,max: byte;

BEGIN
{зададим массив c (в данном случае просто от d+1 до d+l}
for i:=1 to l do c[i]:=i+d;

{заполняем вспомогательное множество t всеми элементами из c}
t:= [];
for i:=1 to l do Include(t,c[i]);

{заполняем множества случайным образом}
For i:=1 to n Do
for j:=1 to l do begin
k:= Random(256);
if k in t then Include(s[i],k)
end;

{считаем мощность каждого множества и одновременно ищем максимум}
max:= 0;
k:= 1;
for i:=1 to n do begin
m:=0;
for j:=1 to l do if c[j] in s[i] then Inc(m);
if m>max then begin
max:= m;
k:= i
end
end;
writeln('множество номер ',k,' имеет максимальное количество элементов (',max,')');
readln
END.



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Sav93   Множество   4.03.2011 15:59
volvo   Больше, чем что? Вообще, задание непонятно. Множес...   4.03.2011 16:21
Sav93   Да, Вы правы, нам преподаветель прочитал условие с...   4.03.2011 20:15
-TarasBer-   > Да, Вы правы, нам преподаветель прочитал усло...   4.03.2011 20:37
Sav93   > Да, Вы правы, нам преподаветель прочитал усл...   4.03.2011 20:46
volvo   В таком случае о чем тема? О возрасте преподавател...   4.03.2011 20:51
Sav93   Дано N множеств, найти множество содержащее максим...   4.03.2011 21:00
Lapp   Дано N множеств, найти множество содержащее максим...   5.03.2011 7:23
Sav93   Вроде все ясно, кроме 1-го... зачем нам d?   9.03.2011 19:14
Lapp   Вроде все ясно, кроме 1-го... зачем нам d? Перемен...   9.03.2011 20:17
Sav93   Ага...ясненько...2-й вариант для меня более понятн...   9.03.2011 20:56
Sav93   Еще 1 вопрос... Так можно задать? Program LabRob2;...   10.03.2011 16:24
Lapp   Так можно задать? for j:=1 to l do Include(s[i...   10.03.2011 18:39
Sav93   А если +1 оставить, рандомайз может там присутство...   10.03.2011 23:40
Lapp   А если +1 оставить, рандомайз может там присутство...   11.03.2011 0:40
Sav93   Так не работает... ерор 76 выписывает...только ес...   11.03.2011 1:25
volvo   Тип переменных i и j поменяй с Byte на что-нибудь ...   11.03.2011 1:36


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 17:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"