Консультация № 197667
30.01.2020, 00:52
0.00 руб.
30.01.2020, 10:07
0 1 0
Здравствуйте! У меня возникли сложности с таким вопросом: Дана непустая последовательность слов из строчных русских букв,между соседними словами - запятая,за последним словом - точка.Напечатать в алфавитном порядке все звонкие согласные буквы,которые входят более чем в одно слово,все гласные буквы,которые не входят более чем в одно слово.

не могу никак сделать второе условие прошу помощи а именно не могу добавить в прогу:все гласные буквы,которые не входят более чем в одно слово.

Код:
[code lang=pascal]program bin;

const

D = ['.', ',', ':', ';', '!', '?', '-', ' '];

Da = ['Б', 'В', 'Г', 'Д', 'Ж', 'З', 'Л', 'М', 'Н', 'Р',
'б', 'в', 'г', 'д', 'ж', 'з', 'л', 'м', 'н', 'р'];

var
S: String;
Dw, Ds, Dr: set of Char;
Ch: Char;
i, Len: Integer;

begin
repeat
Writeln('Задайте строку:');
Readln(S);

Len := Length(S);
Dw := [];
Ds := [];
Dr := [];
for i := 1 to Len do

if not (S[i] in D) then
begin
if S[i] in Da then
Dw := Dw + [S[i]];
if (i = Len) or (S[i + 1] in D) then
begin
Dr := Dr + Dw * Ds;
Ds := Ds + Dw;
Dw := [];
end;
end;


if Dr = [] then
Writeln('Нет ни одной буквы, которая входила бы более, чем в одно слово.')
else
begin
Writeln('Перечень звонких согласных букв, которые входят более, чем в одно слово:');
for Ch := 'Б' to 'р' do
if Ch in Dr then
Write(Ch, ' ');
Writeln;
end;

Writeln('Повторить - Enter. Выход - любой символ + Enter.');
Readln(S);
until S <> '';
end.[/code]

Обсуждение

давно
Старший Модератор
31795
6196
30.01.2020, 12:36
общий
Адресаты:
не могу никак сделать второе условие прошу помощи а именно не могу добавить в прогу:все гласные буквы,которые не входят более чем в одно слово.

В таком виде условие выглядит запутаным.
Если его перфразировать, к примеру к такому:
которые входят не более чем в одно слово, то такое условие просто решается.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа