Advertisement
Guest User

q199044436

a guest
Mar 16th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. const N = 102;
  2. type TArr = array[1..N] of integer;
  3. var a:TArr; i, cnt1,cnt2, el:integer;
  4.  
  5. //сортировка и поиск
  6. function SortAndSearch(c: TArr; elem: integer):integer;
  7. var j,k,m,id,cnt: integer;
  8. begin
  9. // сортировка
  10. m := N;
  11. while m > 1 do begin
  12. id := 1;
  13. for j := 2 to m do begin
  14. if c[j] > c[id] then id := j;
  15. //inc(cnt);
  16. end;
  17. k := c[id];
  18. c[id] := c[m];
  19. c[m] := k;
  20. m := m - 1;
  21. end;
  22.  
  23. // поиск
  24. m := N div 2;
  25. i := 1;
  26. j := N;
  27. while (c[m] <> elem) and (i <= j) do begin
  28. inc(cnt);
  29. if elem > c[m] then i := m + 1
  30. else j := m - 1;
  31. m := (i+j) div 2;
  32. end;
  33. {if i > j then writeln('No')
  34. else writeln('Yes'); }
  35. result := cnt;
  36. end;
  37.  
  38. begin
  39. //заполнение
  40. write('src mass: ');
  41. for i := 1 to N do begin
  42. A[i] := random(100);
  43. write(A[i]:3);
  44. end;
  45. writeln;writeln;
  46. cnt1 := 0;
  47. cnt2 := 0;
  48. write('Введите элемент который нужно найти: ');readln(el);
  49. for i := 1 to N do begin inc(cnt1); if A[i]=el then break; end;
  50. cnt2 := SortAndSearch(A,el);
  51. writeln('Поиск перебором: ',cnt1);
  52. writeln('Бинарный поиск: ',cnt2);
  53. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement