Три множества - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Построить три множества: одно из букв данного слова А и второе из букв данного слова В, третье из букв слова С. Вывести на экран те буквы, которые не встречаются хотя бы в одном множестве.

Решение задачи: «Три множества»

textual
Листинг программы
Var Meet: array[65..122] of byte;
Var A,B,C: string;
Var A_A, B_A, C_A: array[1..256] of char;
i: integer;
begin
Readln(A);
Readln(B);
Readln(C);
 
for i:=1 to length(A) do A_A[i]:= A[i]; //3 множества?
for i:=1 to length(B) do B_A[i]:= B[i];
for i:=1 to length(C) do C_A[i]:= C[i];
 
for i:=1 to length(A) do if Meet[ord(A_A[i])] = 0 then inc(Meet[ord(A_A[i])]);
for i:=1 to length(B) do if Meet[ord(B_A[i])] = 1 then inc(Meet[ord(B_A[i])]);
for i:=1 to length(C) do if Meet[ord(C_A[i])] = 2 then inc(Meet[ord(C_A[i])]);
for i:=65 to 122 do
  if (Meet[i] > 0) and (Meet[i] < 3) then Write(chr(i));
end.

Объяснение кода листинга программы

  1. В начале кода объявляются переменные: массив Meet размером 65..122 байта, строки A, B, C, а также массивы A_A, B_A, C_A размером 1..256 символов.
  2. Затем с помощью цикла Readln считываются строки A, B, C.
  3. Далее с помощью трёх циклов for происходит копирование символов из строк A, B, C в массивы A_A, B_A, C_A соответственно.
  4. После этого с помощью трёх циклов for происходит проверка каждого символа в массивах A_A, B_A, C_A и увеличение значения переменной Meet для соответствующих индексов.
  5. В конце кода с помощью цикла for выводятся на экран символы от 65 до 122, при условии что значение переменной Meet для этих символов больше 0 и меньше 3.

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы