Code not working

Hey, sorry for the late post. Wanted to see if anyone can help me figure out what I am doing wrong with this code. It's late and probally making some simple error. The code is mean to genertate diff random numbers and display them aswell as the min, max, average and order them from smallest to largest. Thanks for the help.

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
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <cstring>
using namespace std;

int main()
{
	void generateRand(int[], int, int, int);
	bool search(int[], int, int);
	void printArray(int[], int);
	void bubblesort(int[], int, int);
	float m, mean;
	int data, length;
	
	m= (data, length) ;
	
	cout << "The mean of the values you entered is: " << m << endl;
	
	return 0;	
}	
	

void generateRand(int data[], int num, int min, int max)
{
	int a;
	min = 1;
	max = 1000;
	cout << "The 100 numbers generated will be between 1 and 1000 " << endl;
		
	a = rand()% 1000 +1;
	{
			
		for(int x=0; x < num; x++)
		{
			if(data[x]==a)
			{
				a = rand()% 1000 +1; //takes random number
				{
					x=0;
				}
			}
			data[x]=a;	
		}
	}
}

bool search(int data[], int l, int x) // search for x make sure stored in data
{
	int a;
	cout << endl;
	for(int x = 0; x < data[x]; x++)
	{
		if(data[x]==a)
		{
			a = rand()% 1000 +1; 
			{
				x=0;
			}
			
			return true;
		}
		else 
		{
			return false;
		}
	}
}

void bubblesort(int a[], int length, int x) //sort values least to greatest
{

    int swap;
    for(int x=1; x < length ; x++)
    
    {
    
        for( int j=0; j<(length-x);j++)
        {	
			if( a[j] > a [j+1] )
	        {	
				swap=a[j];
	            a[j] = a[j+1];
	            a[j+1]=swap;
	            cout << "check" <<endl;
            
        	}
        }
    }
}

void printArray(int data[], int length) // print values
{
    for(int x = 0; x < length ; x++)
    {
    	cout << " \n";
    	
        cout << "		    THE SORTED VALUES LEAST TO GREATEST!				" << endl;
        cout << "The values are:" << data[x] << endl;
        cout << "Max number:" << endl;
        cout << "Min number" << endl;
    }
}

float mean(int data[], int l)
{
	float sum=0,y=0;
	float average;
	

	for (int x=0; x<l ; x++)
	{
		y=data[x];
		sum+=y;	
	}
	
	average =  sum /l;
	return average;
	 
}

















/*bool search(int data[], int length, int x)
{
	int i,x;
	if (data[i]= a)
	{
		a = rand()% 1000 +1;
		{
			i=0;
		}
			return true;
	}
	else
	{
		return false;
	}
}
*/


closed account (48T7M4Gy)
http://www.cplusplus.com/forum/beginner/202084/
Now that I look at it I guess i can implement the same idea. But now this part of the code isn't couting anything do you see a problem?

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
int main()
{
	void generateRand(int[], int, int, int);
	/*bool search(int[], int, int);
	void printArray(int[], int);
	void bubblesort(int[], int, int);
	float m, mean;
	int data, length;
	
	m= (data, length) ;
	
	cout << "The mean of the values you entered is: " << m << endl;
	*/
	return 0;	
}	
	

void generateRand(int data[], int num, int min, int max)
{
	int a;
	min = 1;
	max = 1000;
	cout << "The 100 numbers generated will be between 1 and 1000 " << endl;
		
	a = rand()% 1000 +1;
	{
			
		for(int x=0; x < num; x++)
		{
			if(data[x]==a)
			{
				a = rand()% 1000 +1; //takes random number
				{
					x=0;
				}
			}
			data[x]=a;	
		}
	}
}
closed account (48T7M4Gy)
You may have seen a few posts from people who are happy to help where they can. But generally we aren't mindreaders and/or magicians.

So, the way to handle this is as follows:

1. You have posted your code - step 1 OK
2. State clearly what the problem is, what you expect it to do and what it's doing instead.
3. Include sample input and the erroneous output.

4. Stick to the same thread where possible, and this is no exception, instead of creating multiple threads. They are timewasters for all concerned.

We await 2 and 3. :)
Last edited on
closed account (48T7M4Gy)
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
#include <iostream>

using namespace std;

void generateRand(int[], int);
void printArray(int[], int);
int lowest (int[], int);
double mean(int[], int);

int main()
{
    const int limit = 20;
    int data[limit] = {0};
    
    // Generate random data
    cout << "The " << limit << " numbers generated will be between 1 and 1000 " << endl;
    generateRand(data, limit);
    printArray(data, limit);
    
    //Determine minimum
    int least = lowest( data, limit);
    cout << "Least value: " << least << endl;
    
    //Determine average
    double average = mean(data, limit);
    cout << "Average: " << average << endl;
    
    return 0;
}

void generateRand(int array[], int num)
{
    
    for(int x = 0; x < num; x++)
    {
        array[x] = rand() % 1000;
    
    }
    return;
}

void printArray( int array[], int num)
{
    for(int i = 0; i < num; i++)
    {
        cout << i + 1 << '\t' << array[i] << endl;
    }
}

int lowest(int array[], int num)
{
    int min = 5000;
    
    for(int i = 0; i < num; i++)
    {
        if (array[i] < min)
            min = array[i];
    }
    
    return min;
}

double mean(int array[], int num)
{
    int sum = 0;
    for (int i = 0; i < num; i++)
        sum += array[i];
    
    return sum / (double)num;
}
Last edited on
Topic archived. No new replies allowed.