Qn: An array of N numbers are passed as input. Write a C++ program logic to print the leader element of an array which is greater than all the elements to it's right. The Boundary is 1<= N =>999
Note: the right most element is always leader
-By venkat, Last Update On 12th June,2019 09:44 pm

Finding array leader elements

இங்கு N-ன் boundary condition 1<= N =>999 இவ்வாறு கொடுக்கப்பட்டுள்ளது. ஆகையால் array-ன் maximum size 999 என்று தெளிவாக தேறிகிறது. அதாவது 1-லிருந்து 999-வரை எத்தனை array elements வேண்டுமானாலும் dynamic-ஆக கொடுதுகொள்ளலாம். ஆகையால் int arr[999]; என்று declare செய்யப்பட்டுள்ளது.

rightmost element அதாவது last element always leader ஆகையால் அவற்றை நேரடியாகவே print செய்துவிடலாம்.

#include<iostream.h>
#include<conio.h>
int main(){
int arr[999],n,i,j,status;
cout<<"Enter how many elements you want: ";
cin>>n;
cout<<"Enter all the elements with space : ";
for(i=0;i<n;i++){
    cin>>arr[i];
}
cout<<"The array leaders are : ";
for(i=0;i<n;i++){
    if(i+1==n){// print last elemnt
      cout<<arr[i];
      break;
    }else{
      for(j=i+1;j<n;j++){
      // checking is it greatest to all of its right side
          if(arr[i]>arr[j]){
            status=1;
          }else{
            status=0;
            break;
          }
       }
       if(status==1) {
       // this is greatest to all of its right side elements
          cout<<arr[i]<<" ";
        }
    }
}
return 0;
}
Output:
Enter how many elements you want: 6
Enter all the elements with space : 10 17 4 3 5 2
The array leader elements are : 17 5 2

Pgcomments

Comments