Programming Fundamentals/Array Examples C++

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Arrays[edit]

// This program demonstrates array processing, including:
// display, total, max, min, parallel arrays, sort
// multidimensional arrays, and dynamic arrays.

#include 
#include 
#include 
#include 
#include 

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 displayMultidimensional();
void dynamicArray();

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));

    displayMultidimensional();
    dynamicArray();

    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 < size; index++) { if (minimum > 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 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;
    }    
}

void dynamicArray() {
    list<int> arry;
    srand (time(NULL));
    for (int index = 0; index < 5; index++) {
        int number = rand() % 100;
        arry.push_back(number);
    }

    for (list<int>::iterator it = arry.begin(); it != arry.end(); it++) {
        cout << *it << endl;
    }
}

Output[edit]

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
X | O | X
O | O | O
X | O | X
38
65
20
8
30

References[edit]