Write a C++ program to find K largest elements in a given array of integers. For eeample, if K is 3, then your program should ouput the largest 3 numbers in teh array. Your program is not supposed to use any additional array.

Respuesta :

Answer:

// C++ program to find k largest elements in the array

#include <bits/stdc++.h>

using namespace std;

// main function

int main()

{

// variable

int n,k;

cout<<"Enter the number of elements of array:";

// read the value of n

cin>>n;

// declare the array of size n

int arr[n];

cout<<"Enter the elements of array:";

// read the elements of array

for(int a=0;a<n;a++)

{

   cin>>arr[a];

}

cout<<"Enter the value of K:";

cin>>k;

// call the function to perform selection Sort

sort(arr, arr+n);

cout << k<<" largest elements of the array are: ";

// print k largest elements of the array

for (int i=n-1; i>n-k-1; i--)

cout << arr[i] << " ";

return 0;

}

Explanation:

Read the number of elements in the array.Then create an array of size "n" and read  n elements of the array.Sort the array in ascending array.Then Read the value of  k from user.Find the k Elements from the end of the array.This will be the k  largest elements of the array.

Output:

Enter the number of elements of array:8                                                                                    

Enter the elements of array:34 8 75 99 12 7 5 55                                                                          

Enter the value of K:3                                                                                                    

3 largest elements of the array are: 99 75 55