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