## C Program to reverse the first half of array elements

### Description

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

### Solution

```#include <stdio.h>
#include <stdlib.h>

int main(void)

{

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

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,j=n/2-1;i<j;i++,j--)

{

temp=a[i];
a[i]=a[j];
a[j]=temp;
}

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

{

printf("%d",a[i]);

}

return 0;

}```

### Explanation

```initialize i to first location of array and j to middle location of array using
i=0
j=n/2-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 ```

#### Author - Ramesh P Natarajan

Learner, Professor, Technology Trainer, Software Developer and Content Marketer, very much passionate in the field of Software Application Development, Machine Learning and Search Engine Optimization.

### 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```