So essentially the problem is that the findLowest function isn't doing what I had planned for it to do. I know it's a logic error but I can't seem to find out why the variables aren't updating. They always default to the values they are instantiated with.

```
#include <stdafx.h>
#include <string>
#include <iostream>

using namespace std;

//Function prototypes
void findLowest(int regAccidents[], int arraySize, string regNames[]);
int getNumAccidents(string);
const int NUM_REGIONS = 5;

int main(){
    string regionNames[NUM_REGIONS] = { "North", "South", "East", "West", "Central" };
    int regionAccidents[NUM_REGIONS];

    for (int i = 0; i < NUM_REGIONS; i++){//Populates the accident array
        regionAccidents[i] = getNumAccidents(regionNames[i]);

        if (regionAccidents[i] < 0)//checks to see if there are any accidents counts lower than 0
            regionAccidents[i] = 0;
        }

        findLowest(regionAccidents, NUM_REGIONS, regionNames);
}

int getNumAccidents(string region){//returns the accidents for a specific region to be assigned to the regionAccidents[] array in main()

    int regionAccidents = 0;
    cout << "How many accidents for " << region << "? ";
    cin >> regionAccidents;
    return regionAccidents;

}

void findLowest(int regAccidents[], int arraySize, string regNames[]){  //used to determine what the lowest number of accidents is
    int lowest = regAccidents[0];                                       //once that is found, update the lowRegion string of the accident location
    string lowRegion = regNames[0];
    for (int i = 0; i < arraySize; i++){
        if (regAccidents[i] < regAccidents[i++]){
            lowest = regAccidents[i];
            lowRegion = regNames[i];
        }
    }

    cout << "The region with the lowest amount of accidents is: " << lowRegion << endl;
    cout << "The lowest number of accidents is: " << lowest << endl;
}

```