![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Есть задание:
Цитата:
Нужно сделать программу используя такие функции как Copy, Pos, Insert и т.д. Но вот как их объединить не понятно. Заранее спасибо. |
|
#2
|
|||
|
|||
|
Поподробнее пожалуйста, транслит нужно?
|
|
#3
|
|||
|
|||
|
Да не. просто инвертация строки.
Собственно, что надо: 1. Надо разбить строку на слова. 2. Каждое слово инвертировать (написать буквы в обратном порядке). Для первого надо спользовать функции Pos и Copy. второе пишется примерно так: Код:
function InvertString(S : String) : String;
var
I : Integer;
begin
Result := '';
For I := Length(S) Downto 1 Do
Result := Result + S[i];
end; |
|
#4
|
|||
|
|||
|
Ээ.. Вот так? Прошу прощения за небольшой плагиат
![]() Код:
function InvertWord(s: ShortString): String;
var
I : Integer;
begin
Result := '';
For I := Length(S) Downto 1 Do
Result := Result + S[i];
end;
function InvertString(s: String): String;
var
b: Byte;
begin
Result:='';
b:=Pos(' ',s);
While b<>0 do begin
Result:=Result+InvertWord(Copy(s,1,b-1))+' ';
If b=Length(s) then exit;
s:=Copy(s,b+1,Length(s));
b:=Pos(' ',s);
end;
Result:=Result+InvertWord(s);
end;Работает вне зависимости от наличия пробелов в начале или конце строки. |