Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 23.12.2008, 23:26   #1
pooharilo
 
Регистрация: 23.12.2008
Сообщений: 3
Восклицание работа со строковыми процедурами и функциями

Функция CHARSORT(C:STRING; N1, N2: BYTE; L:BOOLEAN); STRING-возвращает отсортированную строку C,N2-номер позиции в C, с которой идет сортировка, а N1-количество литер, которое необходимо сортировать. Сортировка по возрастаниюL=TRUE, по убыванию L:=FALSE.
pooharilo вне форума Ответить с цитированием
Старый 23.12.2008, 23:27   #2
pooharilo
 
Регистрация: 23.12.2008
Сообщений: 3
По умолчанию

Очень прошу сделайте её, сдам ей зачет поставят, не сдам не поставят=(
pooharilo вне форума Ответить с цитированием
Старый 24.12.2008, 08:59   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
uses crt;
var s:string;
    a,b:integer;
    flag:boolean;
    ch:char;
    
function CHARSORT(C:STRING; N1, N2: BYTE; L:BOOLEAN): STRING;
var i,j:integer;
    res:string;
    temp:char;
begin
 res:=c;
if L then begin
            for i:=n2+1 to n1+n2-1 do
             for j:=n1+n2-1 downto i do
                if res[j]<res[j-1] then
                 begin
                  temp:=res[j];
                  res[j]:=res[j-1];
                  res[j-1]:=temp;
                 end;
          end
   else begin
          begin
            for i:=n2+1 to n1+n2-1 do
             for j:=n1+n2-1 downto i do
                if res[j]>res[j-1] then
                 begin
                  temp:=res[j];
                  res[j]:=res[j-1];
                  res[j-1]:=temp;
                 end;
          end
        end;
Charsort:=res;
end;


begin
writeln('Input string');
readln(s);
writeln('Number of first char');
readln(b);
writeln('Amount');
readln(a);
Writeln('Vozr -1 Ybyv -2');
repeat
ch:=readkey;
case ch of
'1':writeln(charsort(s,a,b,true));
'2':writeln(charsort(s,a,b,false));
 end;
 until (ch='1') or (ch='2');
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 26.12.2008, 23:51   #4
pooharilo
 
Регистрация: 23.12.2008
Сообщений: 3
Хорошо

Спасибо, выручили =))
pooharilo вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить программу со строковыми процедурами и их функциями Тищук Евгений Паскаль, Turbo Pascal, PascalABC.NET 1 08.11.2008 22:59
Работа со строковыми типами VenMaster Общие вопросы Delphi 2 04.06.2008 07:07
Работа с функциями Worms Общие вопросы Delphi 1 02.12.2007 15:51
FastReport с 2-я процедурами Abay БД в Delphi 2 20.09.2007 05:23


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS