Выведите такие латинские буквы из строк, которых нет в остальных - 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.
- В конце программы ожидается ввод пользователя для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д