Jump to content

Programming Fundamentals/Array Examples C++

From Wikibooks, open books for an open world

Arrays

[edit | edit source]
// 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;
    }    
}

Output

[edit | edit source]
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

References

[edit | edit source]