Показать сообщение отдельно
Старый 04.07.2012, 09:58   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от metorok Посмотреть сообщение
В строке – русское слово. Упорядочить в слове согласные буквы в порядке, обратном алфавитному, гласные буквы оставить на своих местах.

Ребятки помогите пожалуйста.
Легко. Внимание! Работает только со строчными буквами, прописные не обрабатываются:
Код:
Const
 Sogl=['б','в','г','д','ж','з','к','л','м','н',
       'п','р','с','т','ф','х','ц','ч','ш','щ'];
Var
 S,S1:String;
 i,j:Byte;
 C:Char;
Begin
 Writeln('Введите слово:');
 Readln(S);
 S1:='';
 For i:=1 to length(S) do
  if (S[i] in Sogl) then
   begin
    S1:=S1+S[i];
    S[i]:='$';
   end;
 For i:=1 to length(S1)-1 do
  For j:=1 to length(S1)-i do
   if Ord(S1[j])<Ord(S1[j+1]) then
    begin
     C:=S1[j];
     S1[j]:=S1[j+1];
     S1[j+1]:=C;
    end;
 j:=0;
 For i:=1 to length(S) do
  if S[i]='$' then
   begin
    Inc(j);
    S[i]:=S1[j];
   end;
 Writeln(S);
 Readln;
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070