program lista_wspolna_z_list_nieuporzadkowanych_p_i_q;
type tab=array[1..10] of integer;
lst = record
elementy: tab;
ile: integer
end;
var
i, j, k, l: integer;
p, q, r: lst; (* p i q listy niepuste i nieuporządkowane! r - lista wynikowa *)
begin
writeln('poczatek');
read(p.ile, q.ile); readln; writeln(p.ile,' ',q.ile);
for i:= 1 to p.ile do read(p.elementy[i]);readln;
for i:= 1 to q.ile do read(q.elementy[i]);readln;
for i:= 1 to p.ile do write(p.elementy[i],' ');writeln;
for i:= 1 to q.ile do write(q.elementy[i],' ');writeln;
r.ile := 0;
i := 1;
while i <= p.ile do
begin
j := 1;
while j <= q.ile do
begin
if p.elementy[i] = q.elementy[j] then
begin
r.ile := r.ile + 1;
r.elementy[r.ile] := p.elementy[i];
// usuń q.elementy[j], przesuwając pozostałe w lewo
k := j;
while k < q.ile do
begin
q.elementy[k] := q.elementy[k+1];
k := k + 1;
end;
q.ile := q.ile - 1;
// zakończ przeszukiwanie q dla tego p[i]
j := q.ile + 1;
end
else
j := j + 1;
end;
i := i + 1;
end;
for i:= 1 to r.ile do write(r.elementy[i],' ');writeln;
writeln('koniec');
end.
cHJvZ3JhbSBsaXN0YV93c3BvbG5hX3pfbGlzdF9uaWV1cG9yemFka293YW55Y2hfcF9pX3E7CnR5cGUgdGFiPWFycmF5WzEuLjEwXSBvZiBpbnRlZ2VyOwogICAgIGxzdCA9IHJlY29yZCAKICAgICAgICAgICAgICAgIGVsZW1lbnR5OiB0YWI7CiAgICAgICAgICAgICAgICBpbGU6IGludGVnZXIKICAgICAgICAgICAgIGVuZDsKdmFyIAogICAgaSwgaiwgaywgbDogaW50ZWdlcjsKICAgIHAsIHEsIHI6IGxzdDsgICgqICBwIGkgcSBsaXN0eSBuaWVwdXN0ZSBpIG5pZXVwb3J6xIVka293YW5lISByIC0gbGlzdGEgd3luaWtvd2EgKikKICAgIApiZWdpbiAKICAgIHdyaXRlbG4oJ3BvY3phdGVrJyk7CiAgICByZWFkKHAuaWxlLCBxLmlsZSk7IHJlYWRsbjsgd3JpdGVsbihwLmlsZSwnICcscS5pbGUpOwoJZm9yIGk6PSAxIHRvIHAuaWxlIGRvIHJlYWQocC5lbGVtZW50eVtpXSk7cmVhZGxuOwoJZm9yIGk6PSAxIHRvIHEuaWxlIGRvIHJlYWQocS5lbGVtZW50eVtpXSk7cmVhZGxuOwoJZm9yIGk6PSAxIHRvIHAuaWxlIGRvIHdyaXRlKHAuZWxlbWVudHlbaV0sJyAnKTt3cml0ZWxuOwoJZm9yIGk6PSAxIHRvIHEuaWxlIGRvIHdyaXRlKHEuZWxlbWVudHlbaV0sJyAnKTt3cml0ZWxuOwogICAKCXIuaWxlIDo9IDA7CglpIDo9IDE7Cgl3aGlsZSBpIDw9IHAuaWxlIGRvCgliZWdpbgogICAgCWogOj0gMTsKICAgIAl3aGlsZSBqIDw9IHEuaWxlIGRvCiAgICAJYmVnaW4KICAgIAlpZiBwLmVsZW1lbnR5W2ldID0gcS5lbGVtZW50eVtqXSB0aGVuCiAgICAJYmVnaW4KICAgICAgICAJci5pbGUgOj0gci5pbGUgKyAxOwogICAgICAgIAlyLmVsZW1lbnR5W3IuaWxlXSA6PSBwLmVsZW1lbnR5W2ldOwogICAgICAgIAkvLyB1c3XFhCBxLmVsZW1lbnR5W2pdLCBwcnplc3V3YWrEhWMgcG96b3N0YcWCZSB3IGxld28KICAgICAgICAJayA6PSBqOwogICAgICAgIAl3aGlsZSBrIDwgcS5pbGUgZG8KICAgICAgICAJYmVnaW4KICAgICAgICAJcS5lbGVtZW50eVtrXSA6PSBxLmVsZW1lbnR5W2srMV07CiAgICAgICAgCWsgOj0gayArIDE7CiAgICAgICAgCWVuZDsKICAgICAgICAJcS5pbGUgOj0gcS5pbGUgLSAxOwogICAgICAgIAkvLyB6YWtvxYRjeiBwcnplc3p1a2l3YW5pZSBxIGRsYSB0ZWdvIHBbaV0KICAgICAgICAJaiA6PSBxLmlsZSArIDE7CiAgICAJZW5kCiAgICAJZWxzZQogICAgICAgIAlqIDo9IGogKyAxOwogICAgCWVuZDsKICAgIAlpIDo9IGkgKyAxOwoJZW5kOwogICAKICAgIGZvciBpOj0gMSB0byByLmlsZSBkbyB3cml0ZShyLmVsZW1lbnR5W2ldLCcgJyk7d3JpdGVsbjsgICAgIAogICAgd3JpdGVsbigna29uaWVjJyk7CmVuZC4=