Напишите программу, которая вводит две символьные строки и находит все латинские буквы....

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

Напишите программу, которая вводит две символьные строки и находит все латинские буквы. которых нет ни в одной из них. Заглавные и строчные буквы не различаются.

Входные данные
На вход программе подаются две символьные строки.

Выходные данные
Программа должна вывести в одной строке в алфавитном порядке все латинские буквы, которые не встречаются ни в одной из двух входных строк. Все буквы должны быть заглавными. Если ни одной такой буквы нет, нужно вывести число 0.

Примеры
входные данные
qwertyuiop
asdfghjklzxc
выходные данные
BMNV
Pascal ABC 1.8 с использованием множеств


Информатика (19 баллов) | 267 просмотров
Дан 1 ответ
0 голосов

Var used: Set of Char;
    s1, s2: string;
    i: integer;
    done: boolean;
    c: char;

function IsLetter(c: char): boolean;
begin
  IsLetter := ((c >= 'a') and (c <= 'z')) or ((c >= 'A') and (c <= 'Z'));<br>end;

function UpperCase(c: char): char;
begin
  if (c >= 'a') and (c <= 'z') then<br>    UpperCase := Chr(Ord(c) - Ord('a') + Ord('A'))
  else
    UpperCase := c;
end;

begin
used := [];

readln(s1);
readln(s2);

for i := 1 to length(s1) do
  if (IsLetter(s1[i])) then
    include(used, UpperCase(s1[i]));

for i := 1 to length(s2) do
  if (IsLetter(s2[i])) then
    include(used, UpperCase(s2[i]));

done := False;
for c := 'A' to 'Z' do
  if not (c in used) then
  begin
    done := True;
    write(c);
  end;

if not done then
  write(0);

writeln;
end.

(1.2k баллов)