// 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 sum(int [], int);
int max(int [], int);
int min(int [], int);
void displayParallel(string [], int [], int);
void fixedArray();
void dynamicArray();
void displayMultidimensional();
int main() {
string names[] = {"Lisa", "Michael", "Ashley", "Jacob", "Emily"};
int ages[] = {49, 48, 26, 19, 16};
displayArray(ages, sizeof(ages) / sizeof(int));
int total = sum(ages, sizeof(ages) / sizeof(int));
int maximum = max(ages, sizeof(ages) / sizeof(int));
int minimum = min(ages, sizeof(ages) / sizeof(int));
cout << "total: " << total << endl;
cout << "maximum: " << maximum << endl;
cout << "minimum: " << minimum << endl;
displayParallel(names, ages, sizeof(ages) / sizeof(int));
sort(ages, ages + sizeof(ages) / sizeof(int));
displayArray(ages, sizeof(ages) / sizeof(int));
fixedArray();
dynamicArray();
displayMultidimensional();
return 0;
}
void displayArray(int arry[], int size) {
for (int index = 0; index < size; index++) {
cout << "array[" << index << "] = " << arry[index] << endl;
}
}
int sum(int arry[], int size) {
int total = 0;
for (int index = 0; index < size; index++) {
total += arry[index];
}
return total;
}
int max(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 min(int arry[], int size) {
int minimum = arry[0];
for (int index = 1; index arry[index]) {
minimum = arry[index];
}
}
return minimum;
}
void displayParallel(string names[], int ages[], int size) {
for (int index = 0; index < size; index++) {
cout << names[index] << " is " << ages[index] << " years old" << endl;
}
}
void fixedArray() {
int arry[5];
srand (time(NULL));
for (int index = 0; index < 5; index++) {
int number = rand() % 100;
arry[index] = number;
}
displayArray(arry, 5);
}
void dynamicArray() {
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 displayMultidimensional() {
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;
}
}