Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/ #include <stdio.h> int main() { int N, i,LB,UB, ITEM, BIG, MID, END; scanf("%d", &N); int DATA[N]; for(i=0; i<N; i++) scanf("%d", &DATA[i]); scanf("%d", &ITEM); scanf("%d%d", &LB, &UB); BIG = LB; END = UB; MID = (BIG+END)/2; while(BIG<=END && ITEM!=DATA[MID]) { if(ITEM<DATA[MID]) END = DATA[MID-1]; else BIG = DATA[MID+1]; MID = BIG+END/2; } if(DATA[MID] == ITEM) printf("Item %d is on location %d\n", ITEM, MID); else printf("Item is not in Range.\n"); return 0; }
Second input DATA[i] = input N element one by one must be SORTED. ex. 3 4 5 6 7 8 9 10
Third input ITEM = What I want to Search. ex. 7
Forth input LB = From Which Index I Want to search. ex. 2
Fifth input UB = Till Which Index I Want to search. ex. 6
Output ex. Item 7 is on location 4
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.