Информатика, вопрос задал elenau7125 , 8 лет назад

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

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

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

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

Ответы на вопрос

Ответил Merovingian
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'));
end;

function UpperCase(c: char): char;
begin
  if (c >= 'a') and (c <= 'z') then
    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.
Новые вопросы