Помогите пожалуйста!!! Выводит мощность 100 надо чтоб выводило 2 при таком условии ввода...

0 голосов
44 просмотров

Помогите пожалуйста!!!
Выводит мощность 100 надо чтоб выводило 2
при таком условии ввода чисел: X1{20,26,34,45,58} X2{20,26,45,30,92} X3{20,45,15,30,92}
Program ex1;
var x1,x2,x3,y,p: set of 1..100;
s,a,i:integer;
begin
x1:=[ ]; x2:=[ ]; x3:=[ ];
writeln('Вв. 5 элементов множества x1 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x1:=x1+[a];
end;
Writeln('Вв. 5 элементов множества x2 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x2:=x2+[a];
end;
Writeln('Вв. 5 элементов множества x3 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x3:=x3+[a];
end;
Writeln;
y:=(x2*x3)-((x1*x2)+(x1*x3));
P:=[ ]; S:=0;
For i:=1 to 100 do
begin
S:=s+1;
P:=P+[i];
if (i=20) or (i=30) then writeln('элемент ',i,' входит в множество');
end;
for i:=1 to 100 do
For i in P then Write(i,' ');
Writeln('Мощность P:',S);
Readln;
end.


Информатика (53 баллов) | 44 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Если в задаче требуется найти количество элементов в множестве y, то это можно сделать так:
y:=(x2*x3)-((x1*x2)+(x1*x3));
S:=0;
For i:=1 to 100 do
if (i in y) then
 begin
 writeln('элемент ',i,' входит в множество');
 s:=s+1;
 end;
Writeln('Мощность y:',S);
Множество Р для этого не нужно!

(194k баллов)
0 голосов

Подправленная программа в прикрепленном файле.

(9.7k баллов)