Pascal - Небольшой Вопрос

  • Автор темы Citromon
  • Дата начала
C

Citromon

#1
Доброго времени суток.

Вот не могу выполнить задание:

Ввести произвольный текст. Напечатать слова, которые составляют этот текст, в порядке возрастанияв них количества согласных букв.
Может, у кого-нибудь есть идеи?
 

Senset

Well-known member
11.09.2006
136
0
#2
1) считать строку в массив S
2) слова отделяются пробелом, запятой, точкой и т.д. -> в цикле забить все слова отдельно в массив Words
3) отсортировать массив Words по кол-ву согласных
4) вывести

проверка что символ согласный: if (s in ['b','c','d','f'.............]) then ....
сортировка:
repeat
p=0;
for i:=1 to words_count-1 do
if (sogl(words>sogl(words[i+1]) then
begin
temp:=words;
words:=words[i+1];
words[i+1]:=temp;
p:=1;
end;
until p=0;

sogl(s:string):integer; - функция должна вернуть кол-во согласных в строке s