Выведите такие латинские буквы из строк, которых нет в остальных - 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.
Объяснение кода листинга программы
- Программа написана на языке Free Pascal.
- Задача программы - найти и вывести уникальные латинские буквы из введенных пользователем строк.
- В начале программы объявлена константа lb, которая содержит все латинские буквы от 'A' до 'Z' и от 'a' до 'z'.
- Тип mnz определен как множество (set) символов.
- Функция vvod считывает строку от пользователя и сохраняет ее в переменной s.
- Функция vyvod выводит уникальные латинские буквы из строки s1, которые отсутствуют в строках s2 и s3.
- Переменная m инициализируется пустым множеством.
- Цикл проходит по каждому символу строки s1.
- Если символ является латинской буквой и отсутствует в строках s2 и s3, то он добавляется в множество m.
- Если множество m пустое, то выводится сообщение о том, что в строке нет уникальных латинских букв.
- В противном случае выводится сообщение
Уникальные латинские буквы в строке
и все буквы из множества m выводятся построчно. - В основной части программы вызываются функции vvod и vyvod для строк s1, s2 и s3.
- В конце программы ожидается ввод пользователя для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д