Q:

Trying to find the lowest number in my array, used the same line for highest number

Basically what I am trying to do is get the lowest number, but the program is feeding me back garbage, but I use the same line of code to get the highest value, only change I made was > to <, the program gives me back the highest value no problem put not the lowest. And I have tried everything I can think of from making the lowest= x[0], lowest=101( user is suppose to enter in grades on scale of 0-100, thought made it had something to do with the value. ) and lowest =highest and it still give me back a number like -9.255596e...., any help or suggestion or greatly appreciated, or maybe a point in the right direction just really trying to understand why it works for one set of numbers and not the others.
 #include "stdafx.h"
 #include <iostream>

 using std::cout;
 using std::endl;
 using std::cin;

 double average(double,int);
 double sum1(double[],int);
 double highest(double[], int);
 double lowest(double[], int);

 int _tmain(int argc, _TCHAR* argv[])
{

    double gradeBook[1000];
    char x;
    int count = 0;
    cout << "Do you wish to start the program if so enter y to stop enter q" << endl;
    cin >> x;
    while (x != 'q')
    {
        cout << "Enter in test grade on a scale of 0 to 100" << endl;
        cin >> gradeBook[count];
        if (gradeBook[count]<0 || gradeBook[count]>100)
        {
            cout << " Please try again ";
            count--;
        }
        else
            cout << "valid answer" << endl;
        count++;
         cout << "Do you wish to continue entering in grades? If so enter y to      stop enter q" << endl;
        cin >> x;
     }

         highest(gradeBook, count);
     cout << "The highest grade enter is " << highest(gradeBook, count) << endl;
     lowest(gradeBook, count);
     cout << "The lowest grade enter is " << lowest(gradeBook, count) << endl;

    cout << lowest <<endl;

    return 0;
}

    double highest(double x[], int y)

    {
     double highest = 0;
    for (int i = 0; i<= y; i++)
    {
    if (x[i]>highest)
    highest = x[i];
    }
    return highest;

    }
    double lowest(double x[], int y)
    {
    double lowest = 100;

    for (int i = 0; i<= y; i++)
    {
        if (x[i]< lowest)
            lowest = x[i];
    }
    return lowest;
}

A:

A way to resolve your question is to use code already tested. 
In your case you can use min_element and max_element to find min and max element of your code:
    cout << "The highest grade enter is " << *max_element(gradeBook, 
gradeBook+count) << endl;

