Guest User

Untitled

a guest
Jan 17th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. var
  2. a: array[1..10] of integer;
  3. i, med, l, r, isk: integer;
  4.  
  5. procedure qsort(First, Latest: integer);
  6. var
  7. l, r, med, local: integer;
  8.  
  9. begin
  10. if first < latest then
  11. begin
  12. med := a[(first + latest) div 2];
  13. l := first;
  14. r := latest;
  15.  
  16. while l <= r do
  17. begin
  18. while a[l] < med do
  19. l := l + 1;
  20. while a[r] > med do
  21. r := r - 1;
  22.  
  23. if l <= r then
  24. begin
  25. local := a[l];
  26. a[l] := a[r];
  27. a[r] := local;
  28. inc(l);
  29. dec(r);
  30. end;
  31. end;
  32. qsort(first, r);
  33. qsort(l, latest);
  34. end;
  35. end;
  36.  
  37.  
  38.  
  39.  
  40. begin
  41. writeln('Введите 10 элементов массива');
  42. for i := 1 to 10 do
  43. readln(a[i]);
  44. Qsort(1, 10);
  45. writeln('отсортированный массив: ');
  46. for i := 1 to 10 do
  47. write(a[i], ' ');
  48. writeln('введите искомый элемент');
  49. readln(isk);
  50.  
  51. l := 1;
  52. r := 10;
  53.  
  54. while l < r do
  55. begin
  56. med := (l + r) div 2;
  57. if a[med] < isk then
  58. l := med + 1
  59. else r := med;
  60. end;
  61.  
  62. if (r <> 10) or ((r = 10) and (a[10] = isk)) then
  63. writeln('искомый элемент найден под номером ', r)
  64. else
  65. writeln('искомый элемент не найден :( ');
  66.  
  67.  
  68. end.
Add Comment
Please, Sign In to add comment