C Program to Reverse the Elements in array using pointers

Description

Get array size n and n elements of array, then reverse the n elements.
Input:
5
5 7 9 3 1
Output:
1 3 9 7 5

Solution

#include <stdio.h>


#include <stdlib.h>
int main()

{
	
	int *a,n,i,j,temp;

	printf("Enter size of array:");
	scanf("%d",&n);

	a=calloc(sizeof(int),n);
	printf("Enter %d Elements:",n);
	for(i=0;i<n;i++)

	{

		scanf("%d",a+i);

	}

	
		
	for(i=0,j=n-1;i<j;i++,j--)
	
	{

		temp=*(a+i);
		*(a+i)=*(a+j);
		*(a+j)=temp;
	}

	printf("After reversing the array:\n");
	for(i=0;i<n;i++)

	{

		printf("%d",*(a+i));

	}

	
	return 0;

}

Explanation

calloc() is predefined function allocates memory of specified bytes.
Number of bytes is specified as (4,n), it means n 4 bytes. Since we are using integers, specified as 4bytes.

*a denotes first four bytes,  *(a+1) denotes second four bytes, *(a+2) denotes third four bytes and so on.,

initialize i to first location of array and j to last location of array using
i=0
j=n-1

swap the elements in location i and j, then increment i by 1 and decrement j by 1.
t=*(a+i)
*(a+i)=*(a+j)
*(a+j)=temp

repeat the above step till i is less than 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