Показать сообщение отдельно
Старый 15.01.2016, 17:32   #1 (permalink)
Олес
Member
 
Регистрация: 07.01.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Процедуры и функции на языке Pascal

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

Function PosLast(subs, s: string): byte;
var
i, k: byte;
begin
k:=0;
i:=length(s);
while(i>= 1) and (k=0) do
if copy(s, i, length(subs))=subs then k:=i
else i:=i - 1;
PosLast:= k;
end;
var
s, s1: string;
i: byte;
begin
for i := 1 to 2 do
begin
writeln('Введите строку');
readln(s);
writeln('Введите подстроку');
readln(s1);
writeln('Номер позиции последнего вхождения=', PosLast(s1, s));
writeln;
end;
end.
Олес вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070