Array Reversal in C - Hacker Rank Solution

Array Reversal in C - Hacker Rank Solution
Array Reversal in C - Hacker Rank Solution


Problem


Given an array, of size n, reverse it.
Example: If array, arr = [1,2,3,4,5], after reversing it, the array should be, arr[5,4,3,2,1].


Task

Input Format :

The first line contains an integer, n, denoting the size of the array. The next line contains n space-separated integers denoting the elements of the array.

Constraints :

  • 1<=n<=1000
  • 1<=arri<=1000, where arri is the ith element of the array.

Output Format :

The output is handled by the code given in the editor, which would print the array.



Sample Input 0

6 

16 13 7 2 1 12

Sample Output 0

12 1 2 7 13 16 

Explanation 0

Given array, arr = [16,13,7,2,1,12]. After reversing the array, arr = [12,1,2,7,13,16]

Sample Input 1

7

1 13 15 20 12 13 2 

Sample Output 1

2 13 12 20 15 13 1 

Sample Input 2

8 

15 5 16 15 17 11 5 11 

Sample Output 2

11 5 11 17 15 16 5 15 



Solution :


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num, *arr,*arr2,i;
    scanf("%d", &num);
    arr = (int*) malloc(num * sizeof(int));
    for(i = 0; i < num; i++) {
        scanf("%d", arr + i);
    }
    arr2 = (int*) malloc(num * sizeof(int));
    for(i=1;i<=num;i++)
    {
        arr2[i-1] = arr[num-i];
    }
    for(i = 0; i < num; i++)
        printf("%d ", *(arr2 + i));
    return 0;
}
Next Post Previous Post
4 Comments
  • Anonymous
    Anonymous Monday, May 31, 2021

    Whats the workflow of the above code

    • Unknown
      Unknown Monday, June 21, 2021

      The code is wrong it just show error on debugging

  • Divya
    Divya Thursday, November 11, 2021

    This comment has been removed by the author.

  • Anonymous
    Anonymous Tuesday, January 18, 2022

    #include
    #include

    int main()
    {
    int num, *arr,*arr2,i;
    scanf("%d", &num);
    arr = (int*) malloc(num * sizeof(int));
    for(i = 0; i < num; i++) {
    scanf("%d", arr + i);
    }
    arr2 = (int*) malloc(num * sizeof(int));
    for(i=1;i<=num;i++)
    {
    arr2[i-1] = arr[num-i];
    }
    arr2[num-1]=arr[0];
    for(i = 0; i < num; i++)
    printf("%d ", *(arr2 + i));
    return 0;
    }

Add Comment
comment url