Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  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. writeln();
  37. end;
  38.  
  39. procedure check_lds;
  40. var i,j,k:integer;
  41. begin
  42. q:=p; k:=0; i:=1; j:=0;
  43. while q^.nextr<>nil do
  44. begin
  45. if q^.inf = r^.inf then
  46. begin
  47. inc(k); inc(j); num[j]:=i;
  48. end;
  49. q:=q^.nextr; inc(i);
  50. end;
  51. writeln('Всего ', k, ' элементов, у которых инф. поле равно инф. полю последнего элемента');
  52. writeln('Порядковые номера элементов:');
  53. for i:=1 to j do
  54. write( num[i],' ');
  55. end;
  56.  
  57. begin
  58. randomize;
  59. sozdlds_and_write(size);
  60. check_lds;
  61. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement