Помогите с задачей плз
|
|
Напишите функцию rightposition, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления str2 в str1. Например, rightposition('Миссисипи' . 'си') дает значение 6.
sLip
|
|
|
Ага, тоесть pos(str2,str1); только наоборот?)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
|
function rightposition(const st, subs : string) : integer; var i, j, lensubs : integer; // lensubs - длина подстроки match : boolean; // логическая переменная - нашли ли подстроку begin Result:=0; // поначалу предполагаем, что строку не нашли lensubs:=length(subs); for i:=length(st) downto 1 do // начинаем просмотр с конца строки begin if st[i]=subs[lensubs] then // если последние символы строки и подстроки совпадают, то проверим остальные begin match:=true; // предположим, что подстрока найдем for j:=1 to lensubs-1 do // начинаем просмотр с конца подстроки if st[i-j]<>subs[lensubs-j] then // если нашли несовпадение, то... begin match:=false; // отмечаем флаг, как "совпадения нет" break; // и оканчиваем цикл проверок end; if match then // смотрим, было ли совпадение begin Result:=i-lensubs+1; // совпадение было - вернём позицию, с которой совпадение было exit; // и выйдем из функции end; end; end; end;
"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:). Спасибо
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|