Advertisement
Guest User

Cautare Binara

a guest
Mar 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int cautareBinaraDreapta(int st, int dr, int x, int v[100])
  6. {
  7. int piv, raspuns;
  8. while(st <= dr)
  9. {
  10. piv = (st+dr)/2;
  11. if(v[piv] == x)
  12. {
  13. raspuns = piv;
  14. st = piv + 1;
  15. }
  16. else
  17. if(v[piv] > x) dr = piv -1;
  18. else st = piv + 1;
  19. }
  20. return raspuns;
  21. }
  22.  
  23. int cautareBinaraStanga(int st, int dr, int x, int v[100])
  24. {
  25. int piv, raspuns;
  26. while(st <= dr)
  27. {
  28. piv = (st+dr)/2;
  29. if(v[piv] == x)
  30. {
  31. raspuns = piv;
  32. dr = piv - 1;
  33. }
  34. else
  35. if(v[piv] > x) dr = piv -1;
  36. else st = piv + 1;
  37. }
  38. return raspuns;
  39. }
  40.  
  41. int main()
  42. {
  43. int n,x, v[100];
  44. cin >> n;
  45. for(int i = 1; i <=n; i++)
  46. cin >> v[i];
  47. cin >> x;
  48. cout << cautareBinara(1,n,x,v);
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement