Hello all, I appreciate you taking the time to look at this. Basically what I need to do for this is to input up to 100 integers into an array and stop when the user enters 0. Then I need to find the largest value the user entered into that array. I have the code to input values into the array and stop when the user enters 0 working just fine, and it is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
5 #include<iostream>
6 using namespace std;
7
8
9
10
11 int main()
12 {
13 const int MAX = 100;
14 int values[MAX];
15 int count;
16
17 for(int i = 0 ; i < MAX; i++)
18 {
19 count++;
20 cin >> values[i];
21
22 if(values[i] == 0)
23 break;
24 }
25 }
|
That is working fine, and after that I need to find the largest value the user input into the array, so this is my whole program so far:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
5 #include<iostream>
6 using namespace std;
7
8 int find_largest(int values[], int size);
9
10
11 int main()
12 {
13 const int MAX = 100;
14 int values[MAX];
15 int count;
16
17 for(int i = 0 ; i < MAX; i++)
18 {
19 count++;
20 cin >> values[i];
21
22 if(values[i] == 0)
23 break;
24 }
25
26 cout << "Max value is: " << find_largest(values, MAX) << endl;
27
28 }
29
30 int find_largest(int values[], int size)
31 {
32 int largest = values[0];
33 for(int n = 0; n < size; n++)
34 {
35 if(values[n] > largest)
36 largest = values[n];
37 }
38 return largest;
39
40
41 }
|
for some reason, when I try to output the find_largest function, it is giving me a large, random number. I created a seperate file to test out the function to find the largest number in an array, and i have that working just fine aswell, it is as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
1 #include<iostream>
2 using namespace std;
3
4 int find_largest(int values[], int array_size);
5
6 int main()
7 {
8 const int MAX =8;
9 int array[MAX];
10
11 array[0] = 56;
12 array[1] = 23;
13 array[2] = 69;
14 array[3] = 127;
15 array[4] = 101;
16 array[5] = 99;
17 array[6] = 1;
18 array[7] = 27;
19
20 cout << "Max is: " << find_largest(array, MAX) << endl;
21
22 }
23
24 int find_largest(int array[], int array_size)
25 {
26 int largest = array[0];
27 for(int i = 0; i < array_size; i++)
28 {
29 if(array[i] > largest)
30 largest = array[i];
31 }
32 return largest;
33 }
34
|
This function finds the largest value in the array with no problems, and this is the same function that I have in my main program. Why is this function returning the largest number in the array and the one in my main program returning a random number?