Hey guys I really need some help. I am suppose to generate the array of numbers using rand( ), instead of prompting the user for the values. Add a function to calculate the average value of the array. Finally, add code to seed the RNG (random number generator) from the system clock, and run you program several times to verify that you get a different sequence each time
#include<iostream>
#include<iomanip>
#include <ctime>
usingnamespace std;
int min_element(int array[], int size);
int max_element(int array[], int size);
int average_element(int array[], int size);
int main(void)
{
int x = 0;
int myarray[100];
int val = 0;
int mymin, mymax;
cout << "Enter the numbers of elements in the array: " << endl;
cin >> x;
if (x >= 100)
{
cout << "sorry. too large. 100 max. "<<endl;
return 1;
}
for(int i = 0;i < x;i++)
{
cout << "Enter the element No. " << i + 1 << "of the array ";
cin >> val;
myarray[i] = val;
}
mymin = min_element(myarray, x);
mymax = max_element(myarray, x);
cout << "The minimum element of the array is " << mymin << endl;
cout << "The maximum element of the array is " << mymax << endl;
#ifdef WIN32
system("pause");
#endif
return 0;
}
int min_element(int array[], int size)
{
// returns the minimum value of array
int i=0;
int minimum = array[0];
for (i = 1; i < size; ++i) {
if (minimum > array[i]) {
minimum = array[i];
}
}
return minimum;
}
int max_element(int array[], int size)
{
int i=0;
int maximum = array[0];
for (int i = 1; i < size; ++i) {
if (maximum < array[i]) {
maximum = array[i];
}
}
return maximum;
}
int average_element(int array[], int size)
{
int sum = array[0];
for (int i = 1; i < size; ++i) {
sum += array[i];
}
return sum/size;
}
And here it is when a try to seed the random number. But the min and max elements always end up as -858993460 no matter what. Any help is greatly appreciated. Here is my code with me trying to rand
#include<iostream>
#include<iomanip>
#include <ctime>
usingnamespace std;
int min_element(int array[], int size);
int max_element(int array[], int size);
int average_element(int array[], int size);
int main(void)
{
int x = 0;
int myarray[6];
int val = 0;
int mymin, mymax;
int n = 0;
unsignedint my_seed = time(0); // get a seed from the system clock
srand(my_seed);
for (int i=0;i<6;i++)
cout << setw(10) << rand() << " ";
cout << endl;
myarray[6] = my_seed;
mymin = min_element(myarray, x);
mymax = max_element(myarray, x);
cout << "The minimum element of the array is " << mymin << endl;
cout << "The maximum element of the array is " << mymax << endl;
#ifdef WIN32
system("pause");
#endif
return 0;
}
int min_element(int array[], int size)
{
// returns the minimum value of array
int i=0;
int minimum = array[0];
for (i = 1; i < size; ++i) {
if (minimum > array[i]) {
minimum = array[i];
}
}
return minimum;
}
int max_element(int array[], int size)
{
int i=0;
int maximum = array[0];
for (int i = 1; i < size; ++i) {
if (maximum < array[i]) {
maximum = array[i];
}
}
return maximum;
}
int average_element(int array[], int size)
{
int sum = array[0];
for (int i = 1; i < size; ++i) {
sum += array[i];
}
return sum/size;
}
#include<iostream>
#include<iomanip>
#include <ctime>
usingnamespace std;
int min_element(int array[], int size);
int max_element(int array[], int size);
int average_element(int array[], int size);
int main(void)
{
int x = 0;
int myarray[6];
int val = 0;
int mymin, mymax;
int n = 0;
unsignedint my_seed = time(0); // get a seed from the system clock
srand(static_cast<unsignedint>(time(0)));
for (int i=0;i<6;i++)
cout << setw(10) << rand() << " ";
cout << endl;
myarray[6] = my_seed;
mymin = min_element(myarray, x);
mymax = max_element(myarray, x);
cout << "The minimum element of the array is " << mymin << endl;
cout << "The maximum element of the array is " << mymax << endl;
#ifdef WIN32
system("pause");
#endif
return 0;
}
int min_element(int array[], int size)
{
// returns the minimum value of array
int i=0;
int minimum = array[0];
for (i = 1; i < size; ++i) {
if (minimum > array[i]) {
minimum = array[i];
}
}
return minimum;
}
int max_element(int array[], int size)
{
int i=0;
int maximum = array[0];
for (int i = 1; i < size; ++i) {
if (maximum < array[i]) {
maximum = array[i];
}
}
return maximum;
}
int average_element(int array[], int size)
{
int sum = array[0];
for (int i = 1; i < size; ++i) {
sum += array[i];
}
return sum/size;
}
> i just need to assign the numbers to the array somehow?
Not somehow; assign the random numbers that you generate to the elements of the array
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
int myarray[6];
unsignedint my_seed = time(0);
//srand(static_cast<unsigned int>(time(0)));
srand(my_seed) ;
for (int i=0; i<6; i++)
{
int r = rand() ; // random number
// cout << setw(10) << rand() << " ";
cout << setw(10) << r << " "; // print it
myarray[i] = r ; // assign to element at position i; i in [0,5]
}
cout << endl;
// myarray[6] = my_seed; // **** error; out of bounds
#include<iostream>
#include<iomanip>
#include <ctime>
usingnamespace std;
int min_element(int array[], int size);
int max_element(int array[], int size);
int average_element(int array[], int size);
int main(void)
{
int x = 0;
int myarray[100];
int val = 0;
int mymin, mymax, myavg;
cout << "Enter the numbers of elements in the array: " << endl;
cin >> x;
unsignedint my_seed = time(0);
srand(my_seed) ;
for (int i=0; i<x; i++)
{
int r = rand() ;
cout << setw(10) << r << " ";
myarray[i] = r ;
}
cout << endl;
mymin = min_element(myarray, x);
mymax = max_element(myarray, x);
myavg = average_element(myarray, x);
cout << "The minimum element of the array is " << mymin << endl;
cout << "The maximum element of the array is " << mymax << endl;
cout << "The average value of the array is " << myavg << endl;
#ifdef WIN32
system("pause");
#endif
return 0;
}
int min_element(int array[], int size)
{
// returns the minimum value of array
int i=0;
int minimum = array[0];
for (i = 1; i < size; ++i) {
if (minimum > array[i]) {
minimum = array[i];
}
}
return minimum;
}
int max_element(int array[], int size)
{
int i=0;
int maximum = array[0];
for (int i = 1; i < size; ++i) {
if (maximum < array[i]) {
maximum = array[i];
}
}
return maximum;
}
int average_element(int array[], int size)
{
int sum = array[0];
for (int i = 1; i < size; ++i) {
sum += array[i];
}
return sum/size;
}