Ôàéë lab10.pas

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.