Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int v[100], n, x, i, gasit, stanga, dreapta;
- int main()
- {
- // citire
- cout<<"n = "; cin>>n;
- for(i=0;i<n;i++)
- {
- cout<<"v["<<i<<"] = ";cin>>v[i];
- }
- // valoarea pe care o cautam
- cout<<"x = ";cin>>x;
- gasit = 0;
- stanga = 0;
- dreapta = n - 1;
- while(stanga <= dreapta && !gasit)
- {
- // pozitia din mijloc
- int mijloc = (stanga + dreapta) / 2;
- // valoarea din mijloc este mai mare decat x => nu mai are rost sa ne uitam la valoarile din dreaptas mijlocului
- if(v[mijloc] > x)
- dreapta = mijloc - 1;
- // valoarea din mijloc este mai mica decat x => nu mai are rost sa ne uitam la valorile din stanga mijlocului
- else if(v[mijloc] < x)
- stanga = mijloc + 1;
- // am gasit valoarea
- else
- gasit = 1;
- }
- if(gasit)
- cout<<"X a fost gasit";
- else
- cout<<"X nu a fost gasit";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement