Вывести на экран все гласные буквы, которые не входят более чем в одно слово - Turbo Pascal
Формулировка задачи:
Решение задачи: «Вывести на экран все гласные буквы, которые не входят более чем в одно слово»
const rul:string='АЕЁИОУЫЭЮЯ'; rll:string='аеёиоуыэюя'; type st=set of char; var w:string; s:array [0..4] of st; i:integer; function G(c:char):char; var i:integer; begin i:=pos(c,rll); if i>0 then G:=rul[i] else G:=c; end; procedure CreateSet(var s:st;t:string); var i:integer; begin s:=[]; for i:=1 to length(t) do if pos(t[i],rll+rul)>0 then Include(s,G(t[i])); end; begin for i:=1 to 4 do begin write('Введите слово ',i,':'); readln(w); CreateSet(s[i],w); end; s[0]:=(s[1]-s[2]-s[3]-s[4])+(s[2]-s[1]-s[3]-s[4])+(s[3]-s[1]-s[2]-s[4])+(s[4]-s[3]-s[2]-s[1]); if s[0]=[] then writeln('Нет букв!') else begin write('Буквы:'); for i:=1 to length(rul) do if rul[i] in s[0] then write(rul[i],' '); end; readln; end.
Объяснение кода листинга программы
Данный код написан на языке Turbo Pascal и решает задачу, которая заключается в выводе на экран всех гласных букв, которые не входят более чем в одно слово.
Константа rul
содержит все гласные буквы, а константа rll
содержит все согласные буквы русского алфавита.
Тип st
представляет собой множество символов, а переменная s
является массивом, содержащим множество символов.
Функция G
принимает символ и возвращает его, если он есть в константе rul
, иначе возвращает сам символ.
Процедура CreateSet
создает множество s
из строки t
. Если в строке t
есть гласные буквы, то они добавляются в множество s
.
В основной части кода пользователю предлагается ввести четыре слова. После ввода слов создается множество s
для каждого слова. Затем происходит проверка: если множество s
пустое, выводится сообщение Нет букв!
. В противном случае выводятся все гласные буквы, которые есть в множестве s
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д