Найти последнее вхождение некоторой подстроки в строке - Turbo Pascal

  1. пожалуйста помогите. дан текст из нескольких строк. предлагается: 1) найти последнее вхождение некоторой подстроки в строке (подстрока и номер строки, в которой осуществляется поиск, вводятся пользователем и являются параметрами функции). 2)удалить из строки определенное количество завершающих символов (номер строки, количество символов вводятся пользователем)  


textual

Код:

Type
  MyString = String;
  mas = Array [1..30] of MyString;
Var
  st: mas;
  i,n,nom,kl: Byte;
  sub: MyString;
{---------}
Function LastPos(substr: MyString; num: Integer): Byte;
var s, space: MyString;
    k: Byte;
begin
  k:=0;
  space:='';
  s:=st[num];
  While Pos(substr,s)<>0 do
  begin
    k:=Pos(substr,s);
    For i:=1 to Length(substr) do
    space:=space+#0;
    Delete(s,Pos(substr,s),Length(Copy(s,Pos(substr,s),Length(substr))));
    s:=space+s;
    space:='';
  end;
  LastPos:=k;
end;
{---------}
Function DeleteSymbols(num: Integer; kol: Byte): MyString;
var s: MyString;
begin
  If kol<=Length(st[num]) Then
  begin
    s:=st[num];
    Delete(s,Length(s)-kol+1,kol);
  end;
  DeleteSymbols:=s;
end;
{---------}
BEGIN
Writeln('Введите кол-во строк: ');
Readln(n);
Writeln('Введите ',n,' строк:');
For i:=1 to n do
Readln(st[i]);
Writeln('Введите подстроку и номер строки: ');
Readln(sub,nom);
If LastPos(sub,nom)=0 Then
Writeln('Такой подстроки нет')
Else
Writeln('Позиция последней подстроки = ',LastPos(sub,nom));
Writeln('Введите номер строки и количество завершающих символов, кот. необходимо удалить: ');
Readln(nom,kl);
Writeln('Полученная строка: ',DeleteSymbols(nom,kl));
Readln
END.


Похожие ответы
  1. Задано строка S и символ C. Удвоить каждое вхождение символа C в строку S.

  1. Добрый день, помогите, пожалуйста, составить программу: Дан текстовый файл,в котором написана последовательность латинских слов,между ними пробел.Определить заканчиваются ли последнее слово в файле буквой .

  1. 9 количество строк. вывести последнее слово каждой строки.

  1. дано натуралное число переставить первое и последнее число (цикл)

  1. дана строка s и s1. каждое вхождение s1 в строку s в качестве подстроки заменить на обращенную подстроку s1

  1. Помогите написать программу. "Поменяйте местами первое и последнее слово" (ввод строк организуйте в программе. Строка должна состоять из нескольких слов и символов, разделителем служит пробел)

  1. Помогите разобраться в задаче. С клавиатуры вводятся символы. Признак конца ввода-точка. Определить символ, следующий за последним вхождением цифры.

  1. Здравствуйте, выручите студента недоучку =))) работу надо сдать уже завтра. Задача стоит такая Описать процедуру или функцию, которая вставляет в список L новый элемент F за каждым вхождением элемента E Все работает правильно за одним только исключением, в этом исходнике задаешь количество элементов, которые она подбирает случайным образом, мне нужно сделать так, чтобы я мог задать эти элементы. Помогите подправить, я сам уже пытался-пытался, надо было все-таки на лекции ходить и букварь почитать))))))))))) Заранее благодарю и буду очень признателен ))

  1. Сделать большими все буквы в тех словах, которые начинаются с той же буквы, что и последнее слово строки.