Error: Void value not ignored as it ought to be

I cannot figure out what is wrong with my program. I have a few errors, but the title is the biggest I think. I also cannot get the numbers before a specified index to print in my funciton call. If someone could help it would be greatly appreciated.

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#include <time.h>
#include <iostream>
#include <stdlib.h>
using namespace std;

// Function prototypes
void showArray ( int a[ ], int size ); // shows the array in the format "int a [ ] = { 3, 7, 4, ... ,5, 6, 3, 4, 7 } "
void showReverse ( int a[ ], int size ); // shows the array in reverse using the format "int a [ ] = { 7, 4, 3, 6, 5, ... , 4, 7, 3 } "
int  lowest ( int a[ ], int size ); // finds and returns the lowest value in the array (should be 7)
int  highest ( int a[ ], int size ); // finds and returns the highest value in the array (should be 3)
int  sumArray ( int a[ ], int size ); // calculates and returns the sum of all values in the array
float averageVal ( int a[ ], int size ); // calculates and returns the average of all values in the array
int count5 ( int a[ ], int size ); // returns how many times the number 5 appears in the array
int firstMinusLast ( int a[ ], int n ); // returns the difference between the First Array Element - Last Array Element
void showBeforeIndex( int a [ ], int size, int index); // shows all array values before a specified index
string done ( ); // a function that shows the message "This program is now complete :)
// **************************************************************************************************************************************
int main ()
{
// Array and reverse array
    srand((int)time(NULL));
    int i=0;
    const int SIZE = 25;
    int randvalue[SIZE];


    cout << "Making an array of 25 random integers from 3 to 7!" << endl;

    for(; i < SIZE; i++)
    {
    randvalue[i] = rand () % 5 + 3; // random number between 3 to 7
    }
    cout << "Original array a [ ] = {";
    showArray(randvalue, SIZE);
    cout << "}" << endl;

    int j = SIZE-1;
    i = 0;

    while( i <= j)
    {
        swap(randvalue[i], randvalue[j]);
        i++;
        j--;
    }
    cout << "Reversed array a [ ] = {";
    showArray(randvalue, SIZE);
    cout << "}" << endl;
// *******************************************************************************************************
// Calling the function for max and min
    int returnMax = highest(randvalue, 25);
    cout << "Highest value is " << returnMax << endl;
    int returnMin = lowest (randvalue, 25);
    cout << "Lowest value is " << returnMin << endl;
// *******************************************************************************************************
// FUNCTION CALL FOR SUM
    int returnSum = sumArray (randvalue, 25);
    cout << "The sum of all array elements is " << returnSum << endl;
// *******************************************************************************************************
// Function call for AVERAGE
    float returnAvg = averageVal (randvalue, 25);
    cout << "The average of all array values is " << returnAvg << endl;
// *******************************************************************************************************
// Function call for number of times 5 appears
    int return5 = count5 (randvalue, 25);
    cout << "The number 5 appears " << return5 << " times." << endl;
// *******************************************************************************************************
// Function call for FIRST - LAST
    int returnFirstLast = firstMinusLast (randvalue, 25);
    cout << "The difference between the first and and last array elements is " << returnFirstLast << endl;
//********************************************************************************************************
// Function call for array value before specified index
    int returnindex = showBeforeIndex (randvalue, 25, 3);

    cout << "The array value before index " << index "is " << returnindex << endl; // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< want this to print whatever I put for
                                                                                                                        // index as well as the numbers b4
// *******************************************************************************************************
// Function call for DONE
   cout << done ();

   cout << '\n';
   return 0;
}

// Function definition for ARRAY
void showArray ( int a[ ], int size )
{
    for(int i = 0; i < size; i++)
        cout << a[i];
}
// Function definition for LOWEST value
int  lowest ( int a[ ], int size )
{
    int min;
    min = a[0];

    for (int i = 0; i < size; i++)
    {
        if( a[i] < min) // if i-th element is less than min
        {
            min = a[i]; // make that our new min
        }
    }
    return min;
}

// Function definition for HIGHEST value
int highest ( int a[ ], int size )
{
    int max;
    max=a[0];

    for (int i = 0; i < size; i++)
    {
        if (a[i] > max)
        {
            max = a[i];
        }
    }
    return max;
}
// Function definition for SUM
int  sumArray ( int a[ ], int size )
{
   int sum=0;
   for(int count = 0; count < size; count++){
        sum = sum + a[count];
   }
    return sum;
}

// Function definition for AVERAGE
float averageVal ( int a[ ], int size )
{
    return (float)sumArray(a, size)/size;
}
// Function definition for number of 5's
int count5 ( int a[ ], int size )
{
    int count = 0;
    for (int i = 0; i < size; i++)
    {
        if (a[i] == 5)
        count ++;
     }
    return count;
}

// Function definition for FIRST - LAST
int firstMinusLast ( int a[ ], int n )
{
   return a[n-1] - a[0];
}

// Function for array value before specified index
void showBeforeIndex( int a [ ], int size, int index) 
   for(int i = 3; i < index; i++){
      cout << a[i];
}
// Function definition for
string done ( )
{
    return "This program is now complete:)";
}
Line 73: int returnindex = showBeforeIndex (randvalue, 25, 3);
showBeforeIndex() doesn't return any values.
So how would I fix it?
I don't know what you're trying to do, so I can't tell you. Perhaps you meant to call a different function?
This is an example output. It was working until I messed with the index function.

Making an array of 25 random integers from 3 to 7!
Original array a [ ] = { 3, 7, 5, 6, 3, 4, 4, 3, 5, 5, 6, 5, 5, 7, 3, 5, 3, 6, 4, 5, 7, 4, 7, 3, 5 }
Reversed array a [ ] = { 5, 3, 7, 4, 7, 5, 4, 6, 3, 5, 3, 7, 5, 5, 6, 5, 5, 3, 4, 4, 3, 6, 5, 7, 3 }
Lowest value is 3
Highest value is 7
The sum of all array elements is 120
The average of all array values is 4.8
The number 5 appears 8 times.
The difference between the first and last array elements is -2
The array values before Index 3 are 3, 7, 5 <<<<<<<<<<<<<<<<<<<<<<here is what I want
I am now done with this program

I want the 3 to change bases on whatever I assign the index to
Last edited on
Line 15: showBeforeIndex is declared to return nothing (it's return type is void).

Line 73: You're trying to assign a void function to an int. Your compiler should have barfed on this.

Topic archived. No new replies allowed.