Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. Uses crt;
  2.  
  3. type
  4. list = ^elem;
  5. elem = record
  6. data:string;
  7. next:list;
  8. end;
  9.  
  10.  
  11.  
  12. procedure add(var head: list; info:string);
  13. var x: list;
  14. begin
  15. new(x);
  16. x^.data:=info;
  17. x^.next:=head;
  18. head:=x;
  19. end;
  20.  
  21.  
  22. procedure print(head: list);
  23. var i:list;
  24. begin
  25. i := head;
  26. while i <> nil do
  27. begin
  28. writeln(i^.data);
  29. i:=i^.next;
  30. end;
  31.  
  32. writeln;
  33. end;
  34.  
  35.  
  36. procedure del(var head: list;index:integer);
  37. var
  38. i,prev:list;
  39. counter:integer;
  40. begin
  41. i := head;
  42. counter := 0;
  43. prev := head;
  44.  
  45.  
  46. if(index = 1) then
  47. begin
  48. head := head^.next;
  49. dispose(i);
  50.  
  51. end
  52.  
  53. else
  54. while i <> nil do
  55. begin
  56. inc(counter);
  57.  
  58. if(counter = index) then
  59. begin
  60. prev^.next := i^.next;
  61. i^.next := nil;
  62. dispose(i);
  63. break;
  64. end;
  65.  
  66. prev := i;
  67. i:=i^.next;
  68. end;
  69.  
  70. writeln;
  71. end;
  72.  
  73.  
  74.  
  75.  
  76. var
  77. list1,list2,buf: list;
  78. n:integer;
  79.  
  80. info:string;
  81. k:integer;
  82. i:integer;
  83. f:text;
  84. M,NB,KB:integer;
  85.  
  86.  
  87.  
  88.  
  89. begin
  90. list1:=nil;
  91. list2:=nil;
  92.  
  93.  
  94. write('Count of strings in file : ');
  95. readln(M);
  96.  
  97. write('NB : ');
  98. readln(NB);
  99.  
  100. write('KB : ');
  101. readln(KB);
  102.  
  103.  
  104.  
  105.  
  106. assign(f,'input.txt');
  107. reset(f);
  108.  
  109. for i:=1 to M do
  110. begin
  111. readln(f,info);
  112. add(list1,info);
  113. end;
  114. close(f);
  115.  
  116.  
  117. buf := list1;
  118. for i:=1 to M do
  119. begin
  120.  
  121. add(list2,buf^.data);
  122. buf := buf^.next;
  123. end;
  124.  
  125. writeln('------------TEXT BEFORE--------------');
  126. print(list2);
  127.  
  128. for i:=NB to KB do
  129. begin
  130. del(list2,NB);
  131. dec(M);
  132. end;
  133.  
  134.  
  135. writeln('------------TEXT AFTER--------------');
  136. print(list2);
  137.  
  138.  
  139.  
  140. assign(f,'afterDel.txt');
  141. rewrite(f);
  142. buf := list2;
  143. for i:=1 to M do
  144. begin
  145. writeln(f,buf^.data);
  146. buf := buf^.next;
  147. end;
  148. close(f);
  149.  
  150.  
  151.  
  152.  
  153.  
  154. readkey;
  155. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement