• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, строки, упорядочить буквы

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

metorok

Ученик
Регистрация
27 Июн 2012
Сообщения
8
Реакции
0
Баллы
0
Паскаль, строки, упорядочить буквы

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

Ребятки помогите пожалуйста.
 
В строке – русское слово. Упорядочить в слове согласные буквы в порядке, обратном алфавитному, гласные буквы оставить на своих местах.

Ребятки помогите пожалуйста.
Легко. Внимание! Работает только со строчными буквами, прописные не обрабатываются:
Код:
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.
 
спасибо еще раз Владимир, спасаете прямо)
 
Назад
Сверху