Skip to main content
Engineering LibreTexts

6.11: C++ Examples

  • Page ID
    10681
  • Arrays

    // 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

    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