program dopis16;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
pole:array [0..255] of string;
k,kousek:string;
i,y,m,n,j:integer;
begin
readln(k);
readln(n);
y:=0;
i:=0;
m:=0;
repeat
readln(pole[m]);
kousek:=pole[m];
m:=m+1;
repeat
i:=i+1;
repeat
y:=y+1;
if (y=length(k)) and (i<>length(kousek)) then
begin
writeln('NE');
end;
until (kousek[i]=k[y]);
until (length(kousek)=i) or (y=length(k));
if (length(kousek)=i) and (y<=length(k)) then
writeln('ANO');
until (m=n);
readln;
end.
Tady je můj program. Na prvním řádku zadám řetězec, na dalším počet dalších, kratších řetězců a potom je zadávám. Vypíše mi to jestli se z každého kratšího řetězce dá složit ten hlavní. Problém je v tom, že po zadání 2 řetězce mi vyskočí okno s hláškou External:SIGSEGV a program se zasekne. Ví někdo jak to napravit?