w3resource

C++ Exercises: Find k largest elements in a given array of integers.

C++ Array: Exercise-4 with Solution

Write a C++ program to find k largest elements in a given array of integers.

Pictorial Presentation:

Pictorial Presentation: Find k largest elements in a given array of integers

Sample Solution:

C++ Code :

#include<iostream>
using namespace std;
 void kLargest(int nums[], int n, int k)
{
   sort(nums, nums+n, greater<int>());
    cout << "\nLargest " << k << " Elements: ";
    for (int i = 0; i < k; i++)
        cout << nums[i] << " ";
}
 
int main()
{
    int nums[] = {4, 5, 9, 12, 9, 22, 45, 7};
    int n = sizeof(nums)/sizeof(nums[0]);
    cout << "Original array: ";
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
    int k = 4;
    kLargest(nums, n, k);
}

Sample Output:

Original array: 4 5 9 12 9 22 45 7 
Largest 4 Elements: 45 22 12 9 

Flowchart:

Flowchart: Find k largest elements in a given array of integers

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to find second largest element in a given array of integers.
Next: Write a C++ program to find the second smallest elements in a given array of integers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

C++ Programming: Tips of the Day

Can I assume (bool)true == (int)1 for any C++ compiler?

According to the standard, you should be safe with that assumption. The C++ bool type has two values - true and false with corresponding values 1 and 0.

The thing to watch about for is mixing bool expressions and variables with BOOL expression and variables. The latter is defined as FALSE = 0 and TRUE != FALSE, which quite often in practice means that any value different from 0 is considered TRUE.

A lot of modern compilers will actually issue a warning for any code that implicitly tries to cast from BOOL to bool if the BOOL value is different than 0 or 1

Ref: https://bit.ly/3PWhs5N