Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Множества

Автор: Azart 25.03.2008 13:08

Помогите! Нужно срочно решить задачу:

"Определить пересечение множеств, введенных с клавиатуры."

Спасибо всем! smile.gif

Автор: klem4 25.03.2008 13:17

type
TSet = set of Byte;

procedure print_set(const s: TSet);
var
i: Byte;
begin
for i := 0 to 255 do
if i in s then
write(i:4);
end;

var
a : Tset = [1,255,3,4,5];
b : TSet = [2, 3, 5];

begin
print_set(a * b);
end.


Автор: Azart 25.03.2008 14:22

спасибо за оперативность, но мне выдается сообщение об ошибке :-(

может быть я не верно сформулировал задачу. в результате должено получаться следующее: должны сравниваться два множества и выводиться на экран одинаковые числа.

у меня есть образец решения на массивы:

Program z3;
uses crt;
var a,b,c:array [1..20] of integer;
i,n: integer;
begin
clrscr;
writeln (‘vvedite n’);
readln (n);
for i:=1 to n do
begin
write (‘a[‘,i,’] =’);
readln (a[i]);
end;
for i:= 1 to n do
if a[i]=b[i] then
writeln(‘povtoryaetsya chislo a[‘,i;’]=b[‘,i,’]=’,a[i]);
readkey;
end.

Автор: volvo 25.03.2008 15:24

Цитата
мне выдается сообщение об ошибке :-(


var { CONST здесь, блин, сколько можно? Раздел называется ЗАДАЧИ, а не 32-бита!!! }
a : Tset = [1,255,3,4,5];
b : TSet = [2, 3, 5];