Guest User

Untitled

a guest
Oct 21st, 2019
75
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. type s=^el;
  2. el=record
  3. inf:integer;
  4. nextl,nextr:s;
  5. end;
  6. const
  7. size = 20;
  8. var p,q,r:s;
  9. num : array[1..size] of integer;
  10.  
  11.  
  12.  
  13. procedure sozdlds_and_write (n:integer);
  14. var i: integer;
  15. begin
  16. new(p);
  17. p^.nextr := nil;
  18. p^.nextl := nil;
  19. p^.inf := random(10);
  20. q := p;
  21. i := 1;
  22.  
  23. writeln('Элементы массива (размер ', size, '):');
  24. write(p^.inf, ' ');
  25. while i <> size do
  26. begin
  27. new(r);
  28. inc(i);
  29. r^.nextr := nil;
  30. r^.nextl := q;
  31. r^.inf := random(10);
  32. q^.nextr := r;
  33. q := r;
  34. write(r^.inf, ' ');
  35. end;
  36. q^.nextl:=nil;
  37. writeln();
  38. end;
  39.  
  40. procedure check_lds;
  41. var i,j,k:integer;
  42. begin
  43. r:=p; q:=p; k:=0; i:=1; j:=0;
  44. while r^.nextr<>nil do
  45. begin
  46. r:= r^.nextr;
  47. end;
  48.  
  49. while q^.nextr<>nil do
  50. begin
  51. if q^.inf = r^.inf then
  52. begin
  53. inc(k); inc(j); num[j]:=i;
  54. end;
  55. q:=q^.nextr; inc(i);
  56. end;
  57. writeln('Всего ', k, ' элементов, у которых инф. поле равно инф. полю последнего элемента');
  58. writeln('Порядковые номера элементов:');
  59. for i:=1 to j do
  60. write( num[i],' ');
  61. end;
  62.  
  63. begin
  64. randomize;
  65. sozdlds_and_write(size);
  66. check_lds;
  67. end.
RAW Paste Data