fork download
  1. program lista_wspolna_z_p_i_q;
  2. type tab=array[1..10] of integer;
  3. lst = record
  4. elementy: tab;
  5. ile: integer
  6. end;
  7. var
  8. i, j, k, l: integer;
  9. p, q, r: lst; (* p i q listy niepuste i niemalejące! r - lista wynikowa *)
  10.  
  11. begin
  12. writeln('poczatek');
  13. read(p.ile, q.ile); readln; writeln(p.ile,' ',q.ile);
  14. for i:= 1 to p.ile do read(p.elementy[i]);readln;
  15. for i:= 1 to q.ile do read(q.elementy[i]);readln;
  16. for i:= 1 to p.ile do write(p.elementy[i],' ');writeln;
  17. for i:= 1 to q.ile do write(q.elementy[i],' ');writeln;
  18.  
  19. i := 1; j := 1; k := 1;
  20.  
  21. while (i <= p.ile) and (j <= q.ile) do
  22. begin
  23. if p.elementy[i] < q.elementy[j] then
  24. i := i + 1
  25. else if p.elementy[i] > q.elementy[j] then
  26. j := j + 1
  27. else
  28. begin
  29. r.elementy[k] := p.elementy[i];
  30. // zwiekszamy indeksy
  31. k := k + 1;
  32. i := i + 1;
  33. j := j + 1;
  34. end;
  35. end;
  36. r.ile := k - 1;
  37.  
  38. for i:= 1 to r.ile do write(r.elementy[i],' ');writeln;
  39. writeln('koniec');
  40. end.
Success #stdin #stdout 0s 5316KB
stdin
8 9
2 2 2 3 4 6 8 9
1 1 3 4 5 6 7 9 11 17
stdout
poczatek
8 9
2 2 2 3 4 6 8 9 
1 1 3 4 5 6 7 9 11 
3 4 6 9 
koniec