954,123 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Loops in C...help needed!!

If a person has a number between 1 and 100 in mind, you can always figure out what this number is by asking no more than 7 questions “Is your number the same, smaller than or equal to x?” where x is to be determined. The trick is to a binary search so that at least half of the all possibilities are eliminated after each question For example, if the secret number is 59, the following could take place (you may want to use –1 for less than, 0 for equal to, and 1 for larger than)

Is your number equal to, less than, or larger than 50: 1
Is your number equal to, less than, or larger than 75: -1
Is your number equal to, less than, or larger than 62: -1
Is your number equal to, less than, or larger than 56: 1
Is your number equal to, less than, or larger than 59: 0

Write a C program that plays this game. Make sure that you use this binary search:

The indices for the objects to be searched are low, low+1, low+2, ..., high (in our case, they are initially 1, 2, ..., 100). The middle is at m = (low+high)/2 (note that this is an integer division. If m is not the answer, then if the number is less than m, then we need to search between low and m-1. Otherwise, m+1 and high.


I am having major difficulties making this computer program for school. I was hoping someone would be able to guide me in the right direction with this post.

Thanks
Ryan

Hoey33
Newbie Poster
2 posts since Oct 2009
Reputation Points: 10
Solved Threads: 0
 
Dave Sinkula
long time no c
Team Colleague
5,058 posts since Apr 2004
Reputation Points: 2,780
Solved Threads: 314
 
I am having major difficulties making this computer program for school. I was hoping someone would be able to guide me in the right direction with this post.

Can you maybe show us what you've attempted already?
If you've nothing (i.e. no code) to show us, then this (for us) means that you haven't made any effort. http://www.daniweb.com/forums/announcement8-2.html

tux4life
Nearly a Posting Maven
2,350 posts since Feb 2009
Reputation Points: 2,134
Solved Threads: 243
 

Thank you for your reply. I'm sorry I am new at this and have been trying to find extra help. This is my code so far...

#include
#include

main ( )

int binarysearch (vector vec, int low, int high, int key);

if ( high > low )
{
return -1;
}

int mid = (low + high)/2;


if ( vec[mid] == key )
{
return mid;
}

else if ( vec[mid] > key )
{
return binarysearch(vec, low, mid-1, key);
}
else
{
return binarysearch(vec, mid+1, high, key);
}

}
{
}


This is the first course I have ever taken with regard to computer programming. I hope you can take the time to help me out. Thanks for your time.

Hoey33
Newbie Poster
2 posts since Oct 2009
Reputation Points: 10
Solved Threads: 0
 
cybertooth
Newbie Poster
1 post since Oct 2009
Reputation Points: 10
Solved Threads: 0
 

Go back and look at that link I'd posted, I'm sure it mentions code tags at some point.

Do you know which language you are using? You seem to have merrily mixed C and C++ (perhaps "borrowing" code from eleswhere?).

Have you written a "hello world" program yet?

Dave Sinkula
long time no c
Team Colleague
5,058 posts since Apr 2004
Reputation Points: 2,780
Solved Threads: 314
 

remeber in binary search it stuff needs to be arranged i didn't read your code but i don't see any arranging function in it

MrNoob
Posting Whiz in Training
218 posts since May 2009
Reputation Points: 34
Solved Threads: 7
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You