# CS 50 - pset3 find helpers: Why do binary search and selection short not work?

the command line yells at me but I cannot find out why. Any ideas what could be wrong?

Here is my code: /** * helpers.c * * Helper functions for Problem Set 3. */

# include "helpers.h"

/** * Returns true if value is in array of n values, else false. */ bool search(int value, int values[], int n)

// BINARY search function. { int start; int mid; int end;

if (n <= 0)
{
return false;
}

// value is in values -> true
do
{
// look at middle of list
start = 0;
end = n - 1;
mid = end / 2; // ?? CORRECT?

if (values[mid] == value)
{
return true;
}

// search left
else if (values[mid] > value)
{
end = mid - 1;
}

// search right
else if (values[mid] < value)
{
start = mid + 1;
}

}
while (start + 1 < end);

// value is not in values -> false.
return false;

}

/** * Sorts array of n values. */ void sort(int values[], int n)

{ int i; int min; int j; int temp;

// selection sort.

for (i = 0; i < n - 2; i++)
{
// define minimum at first element.
min = i;

for (j = i + 1; j < n; j++)
{
if (values[j] < values[min])
{
min = j;
}

// swapping of values trough rotation: new ram in temp. new found min gets into temp. New min gets old i. i gets new min from temp.
if (min != i)
{
temp = values[min];
values[min] = values[i];
values[i] = temp;
}
}

}

}