Тема: Знайти однакові слова в двох рядках
Привіт всім, як зробити так, щоб можна було ввести з клавіатури два рядки, а в третій рядок вписати однакові слова з перших двох рядків. Ось мій варіант але 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.