﻿ One-Dimensional Arrays
```//---------------------------------------------------------
// Filename: FindAvg2.cpp
//
// Purpose: Find the average of a list of values. The
// values are entered by the user.
//
// D. Searls
// Asbury College
// Sep 2006
//---------------------------------------------------------
#include <iostream>
#include <iomanip>
using namespace std;

const int MAXSIZE = 100;

int main()
{
int numValues;      // Number of values
int count;          // Number of values processed so far
double x[MAXSIZE];  // A list of values
double sum;         // Sum of values
double avg;         // The arithmetic average

// Get number of scores

do
{
cout << "Enter the number of values in the list (up to " << MAXSIZE << "): ";
cin >> numValues;
cout << endl;
} while (numValues > MAXSIZE);

for (count = 0; count < numValues; count++)
{
cout << "Enter score " << count + 1 << ": ";
cin >> x[count];
}
cout << endl;

// Calculate average

if (numValues > 0)
{
sum = 0.0;
for (count = 0; count < numValues; count++)
{
sum = sum + x[count];
}
avg = sum/(double)numValues;
}

// Display results

if (numValues > 0)
{
cout << "Number of scores read: " << numValues << endl;
cout << "Sum of scores: " << sum << endl;
cout << fixed << setprecision(2) ;
cout << "Average score: " << avg;
}
else
{
cout << "The list contained no scores.";
}
cout << endl << endl;
return 0;
}

//---------------------------------------------------------
// Filename: FindAvg3.cpp
//
// Purpose: Find the average of a list of values. The
// values are entered by the user.
//
// D. Searls
// Asbury University
// Oct 2011
//---------------------------------------------------------
#include <iostream>
#include <iomanip>
using namespace std;

const int MAXSIZE = 100;

//-----------------------------------------------------
// getData
//
// Read a list of values from the keyboard into an array.
// Return the values and the number of values.
//
// Out Parameters: num, arr
//-----------------------------------------------------
void getData(int& num, double arr[])
{
num = 0;

// Get number of scores

do
{
cout << "Enter the number of values in the list (up to " << MAXSIZE << "): ";
cin >> num;
cout << endl;
} while (num > MAXSIZE);

for (int count = 0; count < num; count++)
{
cout << "Enter score " << count + 1 << ": ";
cin >> arr[count];
}
cout << endl;
}

//-----------------------------------------------------
// sum
//
// Given an array of values and the number of values
// in the array, return the sum of the values. If the
// number of values is less than or equal to zero, this
// function will return a value of zero.
//
// In Parameters: size, list
//-----------------------------------------------------
double sum(int size, const double list[])
{
double sum;

// Calculate average

sum = 0.0;
for (int count = 0; count < size; count++)
{
sum = sum + list[count];
}

return sum;
}

//-----------------------------------------------------
// mean
//
// Given an array of values and the number of values
// in the array, return the mean value. If the number
// of values is less than or equal to zero, this
// function will return a value of zero.
//
// In Parameters: n, data
//-----------------------------------------------------
double mean(int n, const double data[])
{
return sum(n, data) / (double)n;
}

//-----------------------------------------------------
// displayReport
//
// Generate a statistical report including the number
// of values in the data set, the sum of the values, and
// and the mean value.
//
// Precondition: num > 0
//
// In Parameters: num, sum, average
//-----------------------------------------------------
void displayReport(int num, double sum, double average)
{
cout << "Number of scores read: " << num << endl;
cout << "Sum of scores: " << sum << endl;
cout << fixed << setprecision(2) ;
cout << "Average score: " << average;
}

//*********************************************************
//              M A I N   D R I V E R
//*********************************************************

int main()
{
int numValues;           // number of data values
double myData[MAXSIZE];  // data values

getData(numValues, myData);
if (numValues > 0)
{
displayReport(numValues, sum(numValues, myData), mean(numValues, myData));
}
else
{
cout << "The list contained no scores.";
}
cout << endl << endl;

return 0;
}
```