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;