C Program to replace every element with the greatest element on right side

Description

Get array size n and n elements of array, replace every elements with the greatest element located in right side.
Input:
5
5 7 9 3 1
Output:
9 9 3 3 1

Solution

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *a,n,i,j,max;
	printf("Enter size of array:");
	scanf("%d",&n);

	a=malloc(sizeof(int)*n);

	printf("Enter %d Elements:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	
	for(i=0;i<n-1;i++)
	{
		max=a[i+1];
		for(j=i+2;j<n;j++)
		{
			if(a[j]>max)
			{
				max=a[j];
			}
		}
		a[i]=max;
	}
	printf("Output:\n");
	for(i=0;i<n;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
				
}

Explanation

visit each location in array

find the greatest element (max)next to the location using
for(j=i+2;j			


			


Interesting Pattern Programs: for more Patterns

Input:
5
Output:
*
**
***
****
*****
****
***
**
*Solution
Input:
5
Output:
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *Solution
Input:
5
Output:
*        *
**      **
***    ***
****  ****
**********Solution
Input:
5
Output:
*       *
**     **
***   ***
**** ****
*********Solution
Input:
5
Output:
*       *
**     **
***   ***
**** ****
*********
**** ****
***   ***
**     **
*       *Solution
Input:
5
Output:
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********Solution