Консультация № 96480
26.07.2007, 13:45
0.00 руб.
0 1 1
Помогите пожалуйста.
Задам текст в файле.Отростировать1-ю часть текста по убыванию 1-х букв слов,а 2-ю часть по возрастанию 1-х букв слов

Обсуждение

Неизвестный
26.07.2007, 14:34
общий
это ответ
Здравствуйте, Фролов Сергей Анатольевич!
Вот набросал кусочки программы. Думаю, собрпать воедино сможете.

const mn = [‘ ‘, ‘,‘, ‘;‘, ‘:‘, ‘-‘];

procedure Get_Word(var stroka); // Процедурка достаёт из строки слова,разделённые ОДНИМ знаком препинания али пробелом
var slovo: string;
i: integer;
BEGIN
slovo := ‘‘;
Repeat
i := 0;
while not (stroka[i] in mn) do
Begin
inc(i);
slovo := slovo + stroka[i];
end;
delete(stroka, i+1, 1);
Until stroka = ‘‘;
END;

{------------------}

const ALPHABET = ‘abcdefghijklmnopqrstvwxyz‘; // если буквы не все - прошу меня простить. Склероз :)

procedure Sort_by_vozrast(var slovo: string); // сортирует буквы по возрастанию позиции в алфавите
var rezult: string;
i: integer;
mn: set of char;
Begin
rezult := ‘‘;
mn := [];
for i:=1 to length(slovo) do
mn := mn + [slovo[i]];
For i:=1 to length(ALPHABET) do
if ALPHABET[i] in mn then rezult := rezult + ALPHABET[i];
end;

{------------------}

const ALPHABET = ‘abcdefghijklmnopqrstvwxyz‘; // если буквы не все - прошу меня простить. Склероз :)

procedure Sort_by_ubyvaniju(var slovo: string);// сортирует буквы по убыванию позиции в алфавите
var rezult: string;
i: integer;
mn: set of char;
Begin
rezult := ‘‘;
mn := [];
for i:=1 to length(slovo) do
mn := mn + [slovo[i]];
For i:=1 to length(ALPHABET) do
if ALPHABET[i] in mn then rezult := ALPHABET[i] + rezult;
end;
Форма ответа