Pendulum APC Array Chapter Q27 class 11

import java.io.*;
class Pendulum_Array
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.print("nEnter number of elements: "); // Inputting the number of elements
        int n = Integer.parseInt(br.readLine());
 
        int A[]=new int[n]; //original array
        int B[]=new int[n]; //array for storing the result
         
        /*Inputting the Array*/
        for(int i=0; i<n; i++)
        {
            System.out.print("Enter Element "+(i+1)+": ");
            A[i] = Integer.parseInt(br.readLine());
        }
         
        /*Sorting the Inputted Array in Descending Order*/
        int t=0;
        for(int i=0; i<n-1; i++)
        {
            for(int j=i+1; j<n; j++)
            {
                if(A[i]<A[j]) // Note: We have changed the sign to '<' here
                {
                    t=A[i];
                    A[i]=A[j];
                    A[j]=t;
                }
            }
        }
         
        /*Printing the Sorted Array*/
        System.out.println("\nThe Sorted Array Is");
        for(int i=0; i<n; i++)
        {
            System.out.print(A[i]+"\t");
        }
         
         int mid = (n-1)/2; //finding index of middle cell
         int x = 1, lim = n-1-mid;
         /*'x' is for accessing elements of array A[] and
         'lim' is for the number of times we have to make this to-and-fro movement*/
          
         /* Pendulum Arrangement Starts Here */
         B[mid]=A[0]; //putting the maximum element in the middle cell
 
         for(int i=1; i<=lim; i++)
         {
 
           /* Note: Below we are first going to the left side then to the right,
              just the opposite of the above code */
 
             if((mid-i)>=0)
                B[mid-i]=A[x++];
             if((mid+i)<n)
                B[mid+i]=A[x++];
         }
          
        /*Printing the Result*/
        System.out.println("\n\nThe Result Is");
        for(int i=0; i<n; i++)
        {
            System.out.print(B[i]+"\t");
        }
    }
}

Output:

Example 1:
Enter number of elements: 5
Enter Element 1: 1
Enter Element 2: 2
Enter Element 3: 3
Enter Element 4: 4
Enter Element 5: 5
The Sorted Array Is
5   4   3   2   1
The Result Is
2   4   5   3   1

No comments:

Post a Comment

any problem in any program comment:-

Second largest number in java using ternary operator

 //Largest second number using ternary operator public class Main { public static void main(String[] args) { int a=5,b=6,c=7; int ...