C++ Examples
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