Hello,

I am working on a small program that reads ten numbers, computes their average, and finds out how many numbers are above average. This is the set up I have so far:

#include <iostream>
using namespace std;


int main()
{
double myList[10];


myList[0] = 89
myList[1] = 56
myList[2] = 34
myList[3] = 98
myList[4] = 87
myList[5] = 94
myList[6] = 100
myList[7] = 69
myList[8] = 52
myList[9] = 73


return 0;
}

.... Now I just need to know how to use it!

Thanks for all the help!

Edited 3 Years Ago by happygeek: fixed formatting

For average, try

double average;
average = ( myList[0] + myList[1] ... ) / 10;

A for loop is really better, but I will let you try it first.

For number above average

int i,numabove;
for ( you do this part )
if ( myList > average ) numabove++

Finally output numabove

#include <iostream>
using namespace std;

int main()
{
    // Declare Variables
    double myList[10];
    double average;


    // Define Array
    myList[0] = 89;
    myList[1] = 56;
    myList[2] = 34;
    myList[3] = 98;
    myList[4] = 87;
    myList[5] = 94;
    myList[6] = 100;
    myList[7] = 69;
    myList[8] = 52;
    myList[9] = 73;

    //calculate average
    average = ( myList[0] + myList[1] + myList[2]+ myList[3]+ myList[4]+ myList[5]
                + myList[6]+ myList[7]+ myList[8]+ myList[9]) / 10;

    // Display average
    cout <<"The average score is  " << average <<"\n\n";


    //Find out how many numbers are above average
    int i;
    for (i = 0; i > average; i++)
    int numabove;
        if (myList[i]>average)
            numabove++;

    cout << "The numbers above average are" << numabove;



    return 0;
}

This is what I have so far but I can't get the for loop wrong. I'm not initializing numabove and I'm not sure how.

Edited 3 Years Ago by Dani: Formatting fixed

You want the for loop to count 0 to 9.

In
for (i = 0; i > average; i++)
set the middle part to i < 10

Brittany, you shouldn't declare variables within a loop...Here's what you should do:

#include <iostream>
using namespace std;

int main()
{

// Declare Variables
double myList[10];
double average;
double sum = 0;
int numabove = 0;

// Define Array
myList[0] = 89;
myList[1] = 56;
myList[2] = 34;
myList[3] = 98;
myList[4] = 87;
myList[5] = 94;
myList[6] = 100;
myList[7] = 69;
myList[8] = 52;
myList[9] = 73;

//calculate average

//Make a loops traversing all of the 10 values in the myList array 
//and add each one to a variable named sum
for (int i = 0; i < 10; i++)
      sum += myList[i];

//calculate average by getting that sum and dividing it by 10
average = (sum/10);

// Display average
cout <<"The average score is " << average <<"\n" << endl;


//Find out how many numbers are above average by using a loop

for (int i = 0; i < 10; i++)
{
    if (myList[i]>average)
          numabove++;
}

cout << "The numbers above average are: " << numabove << endl;



return 0;
}

I was able to get that working, now I need the user to input the scores. I have it all set up, but I'm getting some crazy average.

#include <iostream>
using namespace std;


int main()
{
// Declare Variables
const int TOTAL_NUMBERS = 10;
int numbers[TOTAL_NUMBERS];
double average;


//Read all numbers
for (int i = 0; i < TOTAL_NUMBERS; i++)
{
cout << "Enter a score:  ";
cin >> numbers;
}


//Find the average
average = ( numbers[TOTAL_NUMBERS] + numbers[TOTAL_NUMBERS]) /10;


// Display average
cout <<"The average score is  " << average <<"\n\n";



return 0;
}

Edited 3 Years Ago by happygeek: fixed formatting

Brittany, you can't do cin >> number..That will not read a value and store it in the array...Do something like this: ...Remember to add to my reputation!

#include <iostream>
using namespace std;

int main()
{
// Declare Variables
const int TOTAL_NUMBERS = 10;
int numbers[TOTAL_NUMBERS];
double average;
double sum = 0.0;
int num;

	//Read all numbers
	for (int i = 0; i < TOTAL_NUMBERS; i++)
	{
		cout << "Enter a score: ";
		cin >> num;
		numbers[i] = num;
		sum += numbers[i];
	}

	//Find the average
	average =  sum/10;

	// Display average
	cout <<"\nThe average score is " << average <<"\n\n";


return 0;
}

Brittany, you can't do cin >> number..That will not read a value and store it in the array...Do something like this: ...Remember to add to my reputation!


cin >> num;
numbers[i] = num;
cin >> numbers[i];

works fine. The way you did it works too, but involves an extra step. You don't have to read from cin into an integer, then assign that integer to the array. Reading it directly from cin into the array works too.

Brittany, you can't do cin >> number..That will not read a value and store it in the array...Do something like this: ...Remember to add to my reputation!

That is exactly how to read in a value into the array. Don't know where you get the idea it can't.

//Find the average
	average = ( numbers[TOTAL_NUMBERS] + numbers[TOTAL_NUMBERS]) /10;

Since when is adding two numbers together then dividing by 10 giving an average?

Can you write a program to read a set of scores from a file and compute the average and print it on the screen?

Can you write a program to read a set of scores from a file and compute the average and print it on the screen? cy C

This article has been dead for over six months. Start a new discussion instead.