×

C++ Programs

C++ Most popular & Searched Programs

C++ Basic I/O Programs

C++ Constructor & Destructor Programs

C++ Manipulators Programs

C++ Inheritance Programs

C++ Operator Overloading Programs

C++ File Handling Programs

C++ Bit Manipulation Programs

C++ Classes & Object Programs

C++ program to find the second largest number in the array using class

Submitted by Shubh Pachori, on August 25, 2022

Problem statement

Given an array, we have to find the second largest number in the array using the class and object approach.

Example:

Input: 
array[0]:1
array[1]:2
array[2]:44
array[3]:3
array[4]:5

Output:
Second Largest Number is 5

C++ code to find the second largest number in the array using the class and object approach

#include <iostream>
using namespace std;

// create a class
class Array {
  // private data member
  private:
    int array[5];

  // public functions
  public:
    // getArray() function to get the 
    // value of the array
    void getArray() {
      for (int index = 0; index <= 4; index++) {
        cout << "array[" << index << "]:";
        cin >> array[index];
      }
    }

  // secondLargest() function to find out the second 
  // largest number in the array
  int secondLargest() {

    // initialising int type variables 
    // to perform operations
    int index_1, index_2, temp, second;

    // for loop to read the whole array
    for (index_1 = 0; index_1 <= 4; index_1++) {
      // for loop to compare numbers of array
      for (index_2 = 0; index_2 < 4 - index_1; index_2++) {

        // if condition to check if the next term is greater than
        // this then swapping takes place
        if (array[index_2] < array[index_2 + 1]) {
          //  swapping numbers if numbers
          //  are not in the order
          temp = array[index_2];
          array[index_2] = array[index_2 + 1];
          array[index_2 + 1] = temp;
        }
      }
    }

    // considering array[0] is the 
    // second largest number
    second = array[0];

    // for loop for traversing of array
    for (int index = 0; index <= 4; index++) {
      // if value at second is smaller than array[index]
      if (second > array[index]) {

        // then value at array[index] is copied to second
        second = array[index];

        // break the statement after this operation
        break;
      }
    }

    // returning second largest number
    return second;
  }
};

int main() {
  // create an object
  Array A;

  // function is called by the object 
  // to store the array
  A.getArray();

  // int type variable to store the 
  // second largest number 
  int second;

  // secondLargest() function is called by 
  // the object to find out
  // the second largest number in the array
  second = A.secondLargest();

  cout << "Second Largest Number in array is  " << second;

  return 0;
}

Output

array[0]:33
array[1]:333
array[2]:11
array[3]:1111
array[4]:44
Second Largest Number is 333

Explanation

In the above code, we have created a class Array, one int type array data member array[5] to store the values, and public member functions putArray() and secondLargest() to store the given values in an array and to find the second largest number.

In the main() function, we are creating an object A of class Array, reading integer values by the user of the array using the putArray() function, and finally calling the secondLargest () member function to find out the second largest number in the given integer number in the array. The secondLargest () function contains the logic to find out the second largest number in the given numbers and printing the result.

C++ Class and Object Programs (Set 2) »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.