program str_lab;
uses crt;
type str=string[50];
mass=array[1..20] of str;
var s,s1,s2,s3:str;
i,j,k,l,n,t:integer;
x:mass;
{----------------------------------------}
function poisk(s1,s2:str):str;
var i:integer;k:str;
| {----------------------------------------}
function quantity(s1,s2:str):integer;
var i,k:integer;
begin
k:=0;
for i:=1 to length(s2)-length(s1)+1 do
if copy(s2,i,length(s1))=s1
then k:=k+1;
quantity:=k;
end;
|
begin
k:='no';
for i:=1 to length(s2)-length(s1)+1 do
if copy(s2,i,length(s1))=s1
then k:='yes';
poisk:=k;
end;
{----------------------------------------}
procedure invers(var s1:str);
var i:integer;k:str;
begin
k:='';
for i:=1 to length(s1) do
k:=copy(s1,i,1)+k;
s1:=k;
end;
{----------------------------------------}
procedure double(var s1:str);
var i:integer;k:str;
begin
k:='';
for i:=1 to length(s1) do
k:=k+copy(s1,i,1)+copy(s1,i,1);
s1:=k;
end;
{----------------------------------------}
procedure zamena(var s1:str; s2,s3:str);
var i:integer;k:str;
begin
k:='';
for i:=1 to length(s1) do
if copy(s1,i,length(s2))=s2
then begin k:=k+s3; i:=i+length(s2)-1; end
else k:=k+s1[i];
s1:=k;
end;
| {----------------------------------------}
procedure del(var s1:str; s2:str);
var i:integer;k:str;
begin
zamena(s1,s2,'');
end;
{----------------------------------------}
procedure slova(s:str;var k:integer; var x:mass);
var i:integer;
begin
repeat
zamena(s,' ',' ');
until pos(' ',s)=0;
if s[length(s)]=' '
then delete(s,length(s),1);
k:=0;
repeat
l:=pos(' ',s); k:=k+1;
x[k]:=copy(s,1,l-1); delete(s,1,l);
until pos(' ',s)=0;
k:=k+1;
x[k]:=s;
end;
{----------------------------------------}
procedure printmass(k:integer; x:mass);
var i:integer;
begin
for i:=1 to k do writeln(x[i]);
end;
begin clrscr;
s2:= '11 52 3 15 467 15';
writeln(s2);
slova(s2,k,x);
printmass(k,x);
end.
|