Vaneg
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Народ очень нужна помощь,причем черезвычайно срочно! Задача:Дана не пустая последовательность слов из строчных русских букв.Между словами любой знак припенания.Вывести в порядке обратном алфавитному слова оканчивающиеся на согласные буквы с заданным колличеством слогов. Поесняю конкретику ка надо решить,просто уменя так не получаеться:гласные буквы и знаки припенаниня нужно разместить в два разных множества.Колличества слогов вводим с клавиатуры.А вывести слова нужно в одномерном массиве в порядке убывания. Помогите плиз!Буду очень признателен!!! Добавлено: Народ подскажите как мне вывести массив a[r] в обратном алфавитном порядке??? Помогите плиз.Условие моей задачи выше! uses crt; var st,slovo,b:string; m,m1,m2:set of char; a:array [1..40] of string; i,slog,kol,f,r,h:integer; begin clrscr; writeln('Ввидите не пустую последовательность слов,со знаками припенания'); readln(st); m:=['а','е','ё','и','о','у','ы','э','ю','я']; m1:=['.',',','!',';',':','?','-',' ']; m2:=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ']; writeln('Ввидите колличества требуемых слогов'); readln(slog); slovo:=''; kol:=0; r:=1; for i:=1 to length(st) do if st[i] in m1 then begin for f:=1 to length(slovo) do if slovo[f] in m then kol:=kol+1; for f:=length(slovo) to length(slovo) do if (kol=slog) and (slovo[f] in m2) then begin a[r]:=slovo; r:=r+1; end; kol:=0; slovo:=''; end else slovo:=slovo+st[i]; readkey; end. |