|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2009, 22:24 | #1 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 83
|
Множества,паскаль
Орагнизовать ввод элементов трех множеств A, B, C, D. Определить в программе являеться ли следующие утверждение верным:
множество А содержеться в В, множество В пересекаеться с С, а множества В и С содержаться в D. Привести значение элементов каждого множества для выполнения этого условия. program laba6; uses crt; var y:array [1..100] of byte; A: set of byte; B: set of byte; C: set of byte; D: set of 1..100; x:boolean; i,n:byte; begin clrscr; A:=[]; B:=[]; C:=[]; Writeln ('Множество D=1..100'); writeln ('Введите количество элементом множества A'); readln (n); writeln ('Введите ',n,' элементов A= '); for i:=1 to n do begin readln (y[i]); A:=A+[y[i]]; end; writeln ('Введите количество элементов множества B'); readln (n); writeln ('Введите ',n,' элементов B= '); for i:=1 to n do begin readln(y[i]); B:=B+[y[i]]; end; writeln ('Введите количество элементов множества С'); readln (n); writeln ('Введите ',n,' элементов C= '); for i:=1 to n do begin readln(y[i]); C:=C+[y[i]]; end; x:=(['A'] <= ['B'])and(['B']<>['C'])and(['B','C']<=['D']); writeln (x); x:=['A'] <= ['B']; writeln(x); x:=['B']<> ['C']; writeln (x); x:=['B','C']<=['D']; writeln (x); Repeat until keypressed; end. находит токо что множество В с С пересикаються,а на остальное пишет что ложно. Исправьте плиз что не так... |
23.06.2009, 22:56 | #2 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 83
|
во,практичесли все уже заработало,
токо вопрос..как знак пересечения прировнять к логической переменной? х:= В пересекаеться с С |
23.06.2009, 23:00 | #3 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
во-первых, чтобы проверить вхождение одного мн-ва в другое используется оператор in.. нахождения пересечения исп-ся операция *
если пересечения нет - результатом операции будет пустое мн-во т.е. условия такие примерно множество А содержится в В - (A in B) множество В пересекается с С - (A*B <> []) множества В и С содержатся в D - (B in D) and (C in D) или (B+C in D)
Uguu~
Последний раз редактировалось __STDC__; 23.06.2009 в 23:02. |
23.06.2009, 23:01 | #4 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 83
|
in проверяет ттолько число входит в множество или нет, а * выдает ошибку,впрочем также как и in
|
23.06.2009, 23:05 | #5 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 83
|
урааа заработалооо,спасибо,но токо in всетаки лишние)))
|
23.06.2009, 23:11 | #6 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
ага, туплю.. in лишние.. но с * все верно
Uguu~
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль Множества | vacia78 | Помощь студентам | 3 | 09.04.2009 22:10 |
Множества В Паскаль | Стасссс | Помощь студентам | 1 | 03.04.2009 17:43 |
Паскаль. задача на множества | Isuzu_Rin | Помощь студентам | 1 | 24.12.2008 10:01 |
Множества.(паскаль)Help plz | pif | Помощь студентам | 2 | 01.12.2008 15:59 |