Выведите такие латинские буквы из строк, которых нет в остальных - Free Pascal

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

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

Даны 3 строки: S1, S2, S3. Выведите такие латинские буквы из этих строк, которых нет в остальных. _____________________ Короче: надо вывести уникальные элементы из этих трёх строк. Пробовал удалять похожие, но там возникают проблемы с приваркой в цикле. Помогите. Строки вводятся с клавиатуры. Длина строк НЕодинаковая.

Решение задачи: «Выведите такие латинские буквы из строк, которых нет в остальных»

textual
Листинг программы
uses crt;
const lb=['A'..'Z','a'..'z'];
type mnz=set of char;
procedure vvod(var s:string;i:byte);
begin
writeln('Введите ',i,' строку');
readln(s);
end;
procedure vyvod(s1,s2,s3:string;var m:mnz;i:byte);
var k:byte;
    c:char;
begin
m:=[];
for k:=1 to length(s1) do
if(s1[k] in lb)and(pos(s1[k],s2)=0)and(pos(s1[k],s3)=0)
then m:=m+[s1[k]];
if m=[] then writeln('В строке ',i,' нет уникальных латинских букв')
else
 begin
  writeln('Уникальные латинские буквы в строке ',i);
  for c:='A' to 'z' do
  if c in m then write(c);
  writeln;
 end;
end;
var s1,s2,s3:string;
    m1,m2,m3:mnz;
begin
clrscr;
vvod(s1,1);
vvod(s2,2);
vvod(s3,3);
vyvod(s1,s2,s3,m1,1);
vyvod(s2,s1,s3,m2,2);
vyvod(s3,s1,s2,m3,3);
readln
end.

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

  1. Программа написана на языке Free Pascal.
  2. Задача программы - найти и вывести уникальные латинские буквы из введенных пользователем строк.
  3. В начале программы объявлена константа lb, которая содержит все латинские буквы от 'A' до 'Z' и от 'a' до 'z'.
  4. Тип mnz определен как множество (set) символов.
  5. Функция vvod считывает строку от пользователя и сохраняет ее в переменной s.
  6. Функция vyvod выводит уникальные латинские буквы из строки s1, которые отсутствуют в строках s2 и s3.
  7. Переменная m инициализируется пустым множеством.
  8. Цикл проходит по каждому символу строки s1.
  9. Если символ является латинской буквой и отсутствует в строках s2 и s3, то он добавляется в множество m.
  10. Если множество m пустое, то выводится сообщение о том, что в строке нет уникальных латинских букв.
  11. В противном случае выводится сообщение Уникальные латинские буквы в строке и все буквы из множества m выводятся построчно.
  12. В основной части программы вызываются функции vvod и vyvod для строк s1, s2 и s3.
  13. В конце программы ожидается ввод пользователя для завершения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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