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

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

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

> Множества
VAN
сообщение 11.05.2007 20:21
Сообщение #1


Гость






Четыре садовника выращивают на своих участках цветы из имеющегося списка. Определить, какие виды цветов выращивают хотя бы два садовника, выращивает только один садовник, какие цветы есть у каждого садовника.
Помогите пожалуйста: как определить какие цветы выращивает только один садовник?
Вот программа:
 
program mn1;
uses crt;

type sorta = (ange,vict,gaga,ybil,avem,kata);{сорта роз}
sortaSet = set of sorta;

const sortastr: array [ange..kata] of string[9] =
(' Анжел ',' Виктор ','Гагарин ',' Юбил ',' Ave ',' Катар ');

var s: array [1..4] of sortaset; {сорта выращиваемые цветоводами}
w,q,m1,m2,m3: sortaset; {результирующие множества}
i,j:byte;
procedure InSet ( var s:sortaset);

var sort: Sorta; {сорт розы}

begin
s:=[]; {вначале множество пусто}
for sort:= ange to kata do

if random(2)>0 then s:=s+[sort]
end;


procedure outset (s:sortaset);

var sort: sorta;

begin
for sort:=ange to kata do
if (sort in s) then
write(SortaStr[sort],'');
writeln;
end;



begin
clrscr;
randomize;
writeln;
InSet(S[1]);
InSet(S[2]);
InSet(S[3]);
InSet(s[4]);
write(' Есть у первого :');
OutSet(S[1]);
writeln;
write('Есть у второго');
OutSet(S[2]);
writeln;
write('Есть у третьего');
OutSet(S[3]);
writeln;
write('Есть у четвертого');
OutSet(S[4]);
writeln;
m1:=s[1]*s[2]*s[3]*s[4]; {Есть у каждого цветовода}
{Есть хотя бы у двух}
for i:=1 to 4 do

for j:=i+1 to 4 do begin

m2:=s[i]*s[j];
if m2=m2*q then m2:=[];
q:=q+m2;
end;

{Есть только у одного}


write('Есть у каждого');
outset(m1);
writeln;
write('Есть хотя бы у двух');
outset(q);
writeln;
write('Есть только у одного');
outset(w);
readln;


end.


.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
volvo
сообщение 11.05.2007 20:34
Сообщение #2


Гость






Насколько я помню - вот так:

w := s[1]+s[2]+s[3]+s[4]; { Все присутствующие }
for i := 1 to 3 do
for j := i+1 to 4 do
w := w - s[i]*s[j]; { минус все возможные комбинации из 2-х садовников }

 К началу страницы 
+ Ответить 
Гость
сообщение 11.05.2007 21:39
Сообщение #3


Гость






Немного неправильно конечно, но все равно спасибо.
Будет вот так :

w := s[1]+s[2]+s[3]+s[4]; { Все присутствующие }
for i := 1 to 3 do
for j := i+1 to 4 do
w := w - q; { минус все возможные комбинации из 2-х садовников }

.

 К началу страницы 
+ Ответить 
volvo
сообщение 11.05.2007 21:49
Сообщение #4


Гость






Прости, а ЧЕМ, собственно, результат-то моего выражения тебя не устроил? Итог-то один и тот же... Ну, само собой, ОТ МЕНЯ ты больше помощи не увидишь, ибо делать что-то, проверять, тестировать, а потом какой-то хам придет и скажет, что "КОНЕЧНО, неправильно" - это пусть другие теперь тебе помогают, однако - результат - АБСОЛЮТНО идентичный... dry.gif
 К началу страницы 
+ Ответить 
Lapp
сообщение 12.05.2007 4:10
Сообщение #5


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

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

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


Цитата(Гость @ 11.05.2007 22:39) *

неправильно конечно,

Гость, VAN, здесь принято при сообщении об ошибке указывать, в чем именно состоит ошибка. Голословные утверждения рискованы. Учти, на подобное заявление обязательно последуют проверки участников Форума, и если говорящий не прав - он как минимум лишится доброй репутации. Если он указал, в чем ошибка, но был при этом не прав - это не беда, ошибиться может всякий, на то и Форум..

Так вот, я предлагаю тебе, гость VAN, конкретно сказать, в чем состоит ошибка в ответе volvo. Надеюсь, ты откликнешься на мою просьбу прежде чем твои слова проверят другие. Думаю, ты не станешь прятаться за маской гостя, которому невозможно понизить репутацию, а честно вступишь в полемику с другими посетителями Форума.

Удачи тебе в этом и других делах..


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

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

 



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