// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
function MaxSubstr(s1,s2:string):string; begin var a:=new integer[s1.Length+1,s2.Length+1]; var u:=0; var v:=0; for var i:=0 to s1.Length-1 do for var j:=0 to s2.Length-1 do if s1[i+1]=s2[j+1] then begin a[i+1,j+1]:=a[i,j]+1; if a[i+1,j+1]>a[u,v] then begin u:=i+1; v:=j+1 end end; Result:=s1.Substring(u-a[u,v],a[u,v]) end;
begin var s:='trapperkaperkatrter'; var t:='appekaperspamer'; Writeln(MaxSubstr(s,t)) end.
Const m=4; n=15; var i,j,j0: integer; a:array[1..m,1..n] of integer; jExit,iExit:Boolean; begin Randomize; for i:=1 to m do begin writeln; for j:=1 to n do begin a[i,j]:=random(2); write(a[i,j]:2) end end; writeln; j:=0; jExit:=false; repeat j:=j+1; i:=1; iExit:=false; if a[i,j]=0 then begin repeat i:=i+1; if a[i,j]<>0 then iExit:=true until iExit or (i=m); if i=m then jExit:=true end until jExit or (j=n); if a[i,j]=0 then writeln('Нулевой столбец ',j) else writeln('Нет нулевых столбцов'); end.