Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. program project1;
  2.  
  3. uses
  4. cthreads,
  5. Classes,SysUtils
  6. { you can add units after this };
  7. var A: array of integer;
  8. len:word;
  9. x:integer;
  10.  
  11.  
  12. procedure CreateArray(var a:array of integer;len:word);
  13. var i,j:word; BufArray:array of integer; flag:boolean = true;
  14. begin
  15. randomize;
  16. SetLength(BufArray,len);
  17. i:=1;
  18. while (i<=high(a)) do
  19. begin
  20. a[i]:=random(201)-random(201);
  21. BufArray[i]:=a[i];
  22. if (a[i]<a[i-1]) or (i<>0) then
  23. begin
  24. flag:=true;
  25. j:=0;
  26. while (j<i) and flag do
  27. begin
  28. if a[i]=BufArray[j] then flag:=false;
  29. inc(j);
  30. end;
  31. if flag then inc(i);
  32. end;
  33. end;
  34. end;
  35.  
  36. procedure OutPutArray(a:array of integer);
  37. var i:word;
  38. begin
  39. for i:=0 to high(a) do writeln(i,'. ',a[i]);
  40. end;
  41.  
  42. procedure Sorting(var a:array of integer);
  43. var id,n,i,j:byte; min:integer;
  44. begin
  45. for i:=1 to len-1 do
  46. begin
  47. min:=a[i];
  48. id:=i;
  49. for j:=i+1 to len do
  50. if a[j]<min then
  51. begin
  52. min:=a[j];
  53. id:=j;
  54. end;
  55. a[id]:=a[i];
  56. a[i]:=min;
  57. end;
  58. end;
  59.  
  60. procedure Search(a:array of integer;x:integer);
  61. var left,right,middle,n:word;
  62. found:boolean = false;
  63. begin
  64. left:=0;
  65. right:=high(a);
  66. while (left<=right) and not found do
  67. begin
  68. middle:=(left+right) div 2;
  69. if x > a[middle] then right:=middle-1
  70. else if x < a[middle] then left:=middle+1
  71. else found:=true;
  72. end;
  73. if found then writeln(x,' at pos ', middle)
  74. else writeln('The search has not given any results');
  75. end;
  76.  
  77. begin
  78. write('Input range of mas: '); readln(len);
  79. SetLength(a,len); CreateArray(a,len);
  80. writeln('Array: ');
  81. OutPutArray(a); Sorting(a);
  82. writeln('The array is sorted!');
  83. OutPutArray(a);
  84. write('Search number: '); readln(x);
  85. Search(a,x);
  86. readln
  87. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement