Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Function Poslast

Автор: bimmer 25.03.2005 19:20

Помогите с решением задачи!!
ПожаЛуйста. это безумно важно


Proc45. Описать функцию PosLast(subS,S) целого типа, возвращающую номер позиции, с которой в строке S содержится последнее вхождение подстроки subS. Если в строке S отсутствуют подстроки subS, то функция возвращает 0. Вывести значения этой функции для пяти данных пар subS и S. 

Автор: volvo 25.03.2005 19:29

А FAQ для кого?
http://forum.pascal.net.ru/index.php?showtopic=2361&view=findpost&p=33955, в присоединенном модуле есть Function RevPos(subs, s: String): Byte;

Автор: APAL 25.03.2005 19:36

Цитата
Описать функцию PosLast(subS,S) целого типа, возвращающую номер позиции, с которой в строке S содержится последнее вхождение подстроки subS. Если в строке S отсутствуют подстроки subS, то функция возвращает 0. Вывести значения этой функции для пяти данных пар subS и S.


Код
Function PosLast(subS,S : String) : Byte;
Var i : byte;
Begin
 PosLast:=0;
 For i:=Length(s)-Length(subs)+1 downto 1 do
   If Copy(s,i,Length(subs))=subs then
   Begin
     PosLast:=i;
     Break;
   End;
End;

Автор: bimmer 25.03.2005 20:20

А ещё есть какие-нибудь варианты решения этой задачи? Мне чем больше тем лучше. (я в данный момент на экзамене сижу через КПК общаюсь). и если можно с пояснениями:-) pleaseeeeeeeee

Автор: APAL 25.03.2005 20:30

Цитата
в данный момент на экзамене сижу через КПК общаюсь

технологический прогресс... млин.

Можешь написать свою функцию "Copy" - вот и будет еще вариант.

Автор: Bimmer 25.03.2005 20:42

А есть какой нибудь дутка приметивный вариант????

Автор: FreeMan 25.03.2005 20:56

а что смущает?????

Автор: APAL 25.03.2005 21:01

Примитивный вариант, я уже говорил, - замени Copy на свою функцию. Можешь еще "поизвращаться" с Length - типа: S[0]

А вообще - надо было раньше вспоминать о Паскале.... еще до экзамена!
За 5 минут тебя никто не сможет научить...