Помогите с Паскалем, пожалуйста, алфавит.
1)Дана строка с алфавитом, (русский, английский, безразницы) нужно чтобы программа выводила из этого алфавита гласные и согласные буквы.
2) поменять первую букву с предпоследней местами.
3) программа должна посчитать количество заглавных букв, например Аа, Бб, Вв, т.е например 3 заглавные буквы.
Ответы
Язык: Pascal
Программа выводит из любой строки гласные и согласные буквы
Если нужна строка именно с алфавитом - введёшь самостоятельно, либо заведёшь константу.
var
size, i, count:integer;
temp:char;
SomeString, NewString:string;
PSigns, UpperReg, vow, vowels, cons, consonant:set of char;
begin
PSigns:=['.', '!', '?'];
UpperReg:=['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я'];
vowels:=['А', 'а', 'Е', 'е', 'Ё', 'ё', 'И', 'и', 'О', 'о', 'У', 'у', 'Ы', 'ы', 'Э', 'э', 'Ю', 'ю', 'Я', 'я'];
consonant:=['Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Ж', 'ж', 'З', 'з', 'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'ф', 'Ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч', 'Ш', 'ш', 'Щ', 'щ'];
vow:=[]; cons:=[];
count:=0;
SomeString:=ReadString('Введите строку на русском языке: ');
size:=length(SomeString);
temp:=SomeString[1];
NewString:=SomeString;
for i:=1 to size do
begin
if (SomeString[i] in vowels) then
include(vow, SomeString[i]);
if (SomeString[i] in consonant) then
include(cons, SomeString[i]);
if (SomeString[i] in UpperReg) then
inc(count);
end;
write('Гласные буквы в строке: ', vow, #10, 'Согласные буквы в строке: ', cons, #10);
write('Поменяем первую и предпоследнюю букву в строке местами: ' );
NewString[1]:=NewString[size - 1];
if (NewString[size - 1] in PSigns) then
NewString[size - 2]:=temp
else
NewString[size - 1]:=temp;
write(NewString);
write(#10, 'Количество заглавных букв в строке: ', count);
end.