Консультация № 197358
09.12.2019, 13:59
0.00 руб.
0 2 2
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Дана строка из строчных русских букв. Между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.

Приложение:
Pascal / Delphi

Обсуждение

давно
Студент
402651
154
09.12.2019, 18:23
общий
10.12.2019, 18:19
это ответ
Здравствуйте, bodya!
Как-то ТАК... Можешь процедуру перенести в основную прогу...
{Дана строка из строчных русских букв. Между соседними словами - запятая, за последним словом - точка.
Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.}
[code lang=pascal]program Sogl_No;

procedure Task;
const
t1: set of char = ['а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я'];
var
s, t: string;
i: integer;
begin
readln(s);
i := pos('.', s);
delete(s, i, length(s) - i + 1);
s := s + ',';
t := s;
for i := ord('а') to ord('я') do {for each char}
if not (chr(i) in t1) then
begin
while pos(',', s) <> 0 do
if pos(chr(i), copy(s, 1, pos(',', s))) = 0
then delete(s, 1, pos(',', s))
else break;
if s = '' then write('', chr(i));
s := t;
end;
end;

begin
Task;
writeln();
writeln('Нажмите Enter -> для выхода');
readln;
end.[/code]
Ответ не верный:
20 букв передают согласные звуки (б, п, в, ф, д, т, з, с, ж, ш, ч, ц, щ, г, к, х, м, н, л, р)
10 букв передают гласные звуки (а, э, о, ы, и, у, я, е, ё, ю)
33-и буквы не равно 20+10
давно
Студент
400828
51
09.12.2019, 19:03
общий
это ответ
Здравствуйте, bodya!
Можно так:
Код:

var
s, alphabet: string;
i, p: integer;
begin
alphabet:='бвгджзйклмнпрстфхцчшщ';
read(s);
for i:=1 to length(s) do
begin
p:=pos(s[i], alphabet);
if p<>0 then
delete(alphabet, p, 1);
end;
write(alphabet)
end.
Прикрепленные файлы:
a56dbf25b64d9879ea667edb8ecf9b20cb56d204.JPG
Об авторе:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Форма ответа