Запись оставлена ruslana 02.12.2020 в 17:39
запустить | скачать | новая запись
- program test;
- uses crt;
- type
- zv=^pointer;
- pointer=record
- elem:char;
- next:zv;
- end;
- var
- vlan1, vlan2, s1, s2:zv;
- sym:char;
- Lk,ls:boolean;
- procedure vstav(lanka:zv; buk:char);
- var
- q:zv;
- begin
- new(q);
- q^.elem:=buk;
- q^.next:=lanka^.next;
- lanka^.next:=q;
- end;
- begin
- clrscr;
- new(s1);
- s1^.next:=nil;
- vlan1:=s1;
- write('enter symbols= ');
- repeat
- read(sym);
- vstav(vlan1,sym);
- vlan1:=vlan1^.next
- until sym='.';
- vlan1:=s1^.next;
- writeln;
- write('string S1= ');
- while vlan1<>nil do
- begin
- if vlan1^.elem='k' then
- lk:=true;
- if (vlan1^.elem='s') and (lk=true) then
- ls:=true;
- write(vlan1^.elem);
- vlan1:=vlan1^.next;
- end;
- writeln;
- if (lk=true) and (ls=true) then
- begin
- new(s2);
- s2^.next:=nil;
- vlan2:=s2;
- vlan1:=s1^.next;
- repeat
- if vlan1^.elem='k' then
- begin
- vlan1:=vlan1^.next;
- while vlan1^.elem<>'s' do
- begin
- vstav(vlan2,vlan1^.elem);
- vlan2:=vlan2^.next;
- vlan1:=vlan1^.next;
- end;
- end;
- vlan1:=vlan1^.next
- until vlan1=nil;
- write('string S2= ');
- vlan2:=s2;
- vlan2:=vlan2^.next;
- while vlan2<>nil do
- begin
- write(vlan2^.elem);
- vlan2:=vlan2^.next;
- end;
- end
- else writeln ('there are no k-s pairs in the S1 string');
- end.
Отправка исправлений и поправок. (cоздать новую запись)
После отправки поправок вы сможете посмотреть различия между старой и новой записью.