Advertisement
marius7122

Untitled

Jul 14th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int v[100], n, x, i, gasit, stanga, dreapta;
  6.  
  7. int main()
  8. {
  9.     // citire
  10.     cout<<"n = "; cin>>n;
  11.     for(i=0;i<n;i++)
  12.     {
  13.         cout<<"v["<<i<<"] = ";cin>>v[i];
  14.     }
  15.  
  16.     // valoarea pe care o cautam
  17.     cout<<"x = ";cin>>x;
  18.  
  19.     gasit = 0;
  20.     stanga = 0;
  21.     dreapta = n - 1;
  22.  
  23.     while(stanga <= dreapta && !gasit)
  24.     {
  25.         // pozitia din mijloc
  26.         int mijloc = (stanga + dreapta) / 2;
  27.  
  28.         // valoarea din mijloc este mai mare decat x => nu mai are rost sa ne uitam la valoarile din dreaptas mijlocului
  29.         if(v[mijloc] > x)
  30.             dreapta = mijloc - 1;
  31.         // valoarea din mijloc este mai mica decat x => nu mai are rost sa ne uitam la valorile din stanga mijlocului
  32.         else if(v[mijloc] < x)
  33.             stanga = mijloc + 1;
  34.         // am gasit valoarea
  35.         else
  36.             gasit = 1;
  37.     }
  38.  
  39.     if(gasit)
  40.         cout<<"X a fost gasit";
  41.     else
  42.         cout<<"X nu a fost gasit";
  43.  
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement