Dave Braunschweig
Arrays
// This program demonstrates array processing, including:
// display, total, max, min, parallel arrays, sort,
// fixed arrays, dynamic arrays, and multidimensional arrays.
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
void displayArray(int [], int);
int calculateSum(int [], int);
int calculateMaximum(int [], int);
int calculateMinimum(int [], int);
void demonstrateParallelArrays(string [], int [], int);
void demonstrateFixedArray();
void demonstrateDynamicArray();
void demonstrateMultidimensionalArray();
int main() {
string names[] = {"Lisa", "Michael", "Ashley", "Jacob", "Emily"};
int ages[] = {49, 48, 26, 19, 16};
displayArray(ages, sizeof(ages) / sizeof(int));
int total = calculateSum(ages, sizeof(ages) / sizeof(int));
int maximum = calculateMaximum(ages, sizeof(ages) / sizeof(int));
int minimum = calculateMinimum(ages, sizeof(ages) / sizeof(int));
cout << "total: " << total << endl;
cout << "maximum: " << maximum << endl;
cout << "minimum: " << minimum << endl;
demonstrateParallelArrays(names, ages, sizeof(ages) / sizeof(int));
sort(ages, ages + sizeof(ages) / sizeof(int));
displayArray(ages, sizeof(ages) / sizeof(int));
demonstrateFixedArray();
demonstrateDynamicArray();
demonstrateMultidimensionalArray();
return 0;
}
void displayArray(int arry[], int size) {
for (int index = 0; index < size; index++) {
cout << "array[" << index << "] = " << arry[index] << endl;
}
}
int calculateSum(int arry[], int size) {
int total = 0;
for (int index = 0; index < size; index++) {
total += arry[index];
}
return total;
}
int calculateMaximum(int arry[], int size) {
int maximum = arry[0];
for (int index = 1; index < size; index++) {
if (maximum < arry[index]) {
maximum = arry[index];
}
}
return maximum;
}
int calculateMinimum(int arry[], int size) {
int minimum = arry[0];
for (int index = 1; index arry[index]) {
minimum = arry[index];
}
}
return minimum;
}
void demonstrateParallelArrays(string names[], int ages[], int size) {
for (int index = 0; index < size; index++) {
cout << names[index] << " is " << ages[index] << " years old" << endl;
}
}
void demonstrateFixedArray() {
int arry[5];
srand (time(NULL));
for (int index = 0; index < 5; index++) {
int number = rand() % 100;
arry[index] = number;
}
displayArray(arry, 5);
}
void demonstrateDynamicArray() {
list arry;
srand (time(NULL));
for (int index = 0; index < 5; index++) {
int number = rand() % 100;
arry.push_back(number);
}
for (list::iterator it = arry.begin(); it != arry.end(); it++) {
cout << *it << endl;
}
}
void demonstrateMultidimensionalArray() {
string game[3][3] = {
{"X", "O", "X"},
{"O", "O", "O"},
{"X", "O", "X"} };
for (int row = 0; row < 3; row++) {
for (int column = 0; column < 3; column++) {
cout << (game[row][column]);
if (column < 2) {
cout << " | ";
}
}
cout << endl;
}
}
Output
array[0] = 49 array[1] = 48 array[2] = 26 array[3] = 19 array[4] = 16 total: 158 maximum: 49 minimum: 16 Lisa is 49 years old Michael is 48 years old Ashley is 26 years old Jacob is 19 years old Emily is 16 years old array[0] = 16 array[1] = 19 array[2] = 26 array[3] = 48 array[4] = 49 array[0] = 30 array[1] = 14 array[2] = 67 array[3] = 59 array[4] = 96 30 14 67 59 96 X | O | X O | O | O X | O | X