Тема: Знайти однакові слова в двох рядках
Привіт всім, як зробити так, щоб можна було ввести з клавіатури два рядки, а в третій рядок вписати однакові слова з перших двох рядків. Ось мій варіант але PascalABC.NET видає
Program1.pas(9) : Ошибка времени выполнения: Индекс находился вне границ массива.
Домоможіть знайти помилку будь ласка або підкиньте свої варіанти та ідеї
Буду дуже вдячний !
Ось код
program six;
function Slovo(s:string;n:integer):string;
    const lim =[' ',',','!'];
    var ss:string;
    k,c,i:integer;
begin
    ss:=''; c:=1; k:=1;
    while k<=length(s) do begin
         while not(s[k] in lim) and (k<=length(s)) do begin
            if c=n then ss:=ss+s[k];
               inc (k); end;
               inc ( c );
       while (s[k] in lim) and (k<=length(s)) do inc (k);
      end;
   Slovo:=ss;
end;
var
  s1, s2, srez : string;
  n1, n2 : integer;
  i, j : integer;
begin
  writeln (' vvedit 1-u stroky' );  readln (s1);
  writeln (' vvedit 2-u stroky' );  readln (s2);
    n1 := 1;
    n2 := 1;
  srez := ' ';
    while slovo (s1, n1) <> '' do inc (n1);
    while slovo (s2, n2) <> '' do inc (n2);
  for i := 1 to n1 do
  for j := 1 to n2 do
     if slovo (s1, i) = slovo (s2, j) then  srez := srez + slovo (s1, i) +' ';
  writeln (' stroka - rezyltat : ' );
  writeln (srez);
end.