Множества символов заполнены следующим образом: множество 1-цифрами; множество 2 – знаками препинания; множество 3 – буквами. Выведите на экран пересечение и объединение этих множеств.
Множества символов заполнены следующим образом: множество 1-цифрами; множество 2 – знаками препинания; множество 3 – буквами. Выведите на экран пересечение и объединение этих множеств.
Ответ(ы) на вопрос:
var m1,m2,m3,m4,m5:set of char;
c:char;
begin
m1:=['0'..'9'];
m2:=['.',',',':','?','!',';'];
m3:=['a'..'z'];
m4:=m1*m2*m3;
m5:=m1+m2+m3;
writeln('Пересечение множеств:');
for c:=chr(32) to chr(255) do
if c in m4 then write(c:2);
writeln;
writeln('Объединение множеств:');
for c:=chr(32) to chr(255) do
if c in m5 then write(c:2);
writeln;
end.
Результат:
Пересечение множеств:
Объединение множеств:
! , . 0 1 2 3 4 5 6 7 8 9 : ; ? a b c d e f g h i j k l m n o p q r s t u v w x y z
думаю так попроще, хотя не уверенна сработает ли foreach
//PascalABC.NET 3.1 сборка 1239
var
m1, m2, m3: set of char;
c: char;
begin
m1 := ['0'..'9'];
m2 := ['.', ',', ':', '?', '!', ';'];
m3 := ['a'..'z'];
writeln('Пересечение множеств:');
foreach c in (m1 * m2 * m3) do
write(c, ' ');
writeln;
writeln('Объединение множеств:');
foreach c in (m1 + m2 + m3) do
write(c, ' ');
writeln;
end.
Не нашли ответ?
Похожие вопросы