In this tutorial, we’ll see how to write Array Reversal in C Hackerrank Solution with an explanation. If you’re wondering how to solve array reversal in the C Hackerrank solution, then you’re at the right place. Here you’ll get all Hackerrank solutions with the explanation. But, before getting started we’ll first let you know about Hackerrank. So,
Table of Contents
Hackerrank is a tech company that mainly focuses on competitive programming challenges for students, companies, and consumers. Hackerrank was founded by two founders Vivek Ravishankar and Harishankar Karunanidhi in the year 2012. Its headquarters are situated in California, United States.
With the help of this platform students as well as professionals prepare themselves for the placements by practicing the coding problems. The questions that hacker rank contains are asked in the interview rounds of many companies.
So let us code the Array Reversal in C Hackerrank solution with an Explanation.
Given an array of size n, reverse it.
Example: If an array, arr = [1, 2, 3, 4, 5], after reversing it the array should be arr = [5, 4, 3, 2, 1].
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.
1 <= n <= 1000
1 <= arri <= 1000, where arri is the ith element of the array.
The output is handled by the code given in the editor, which would print the array.
6
16 13 7 2 1 12
12 1 2 7 13 16
Given array, arr = [16, 13, 7, 2, 1, 12]. After reversing the array, arr = [12, 1, 2, 7, 13, 16].
7
1 13 15 20 12 13 2
2 13 12 20 15 13 1
8
15 5 16 15 17 11 5 11
11 5 11 17 15 16 5 15
//Learnprogramo - programming made simple #include <stdio.h> #include <stdlib.h> int main() { int num, *arr, i; scanf("%d", &num); arr = (int*) malloc(num * sizeof(int)); for(i = 0; i < num; i++) { scanf("%d", arr + i); } int temp; for (i = 0; i < num / 2; i++) { temp = (int) *(arr + num - i - 1); *(arr + num - i - 1) = *(arr + i); *(arr + i) = temp; } for(i = 0; i < num; i++) printf("%d ", *(arr + i)); return 0; }
Output:
Explanation:
Reversing an array means changing the positions of the numbers in such a way that the last number comes in the first position, the second last in the second position, and so on.
So, in the above program, we’ve coded the program in c language. After compiling the code, the compiler will first ask you to enter the size of the array. Then you’ve to enter the numbers and then at last the program will reverse the array and print it on the desktop.
//Learnprogramo - programming made simple #include <stdio.h> #include <stdlib.h> int main() { int num, *arr, i; scanf("%d", &num); arr = (int*) malloc(num * sizeof(int)); for(i = 0; i < num; i++) { scanf("%d", arr + i); } /* Write the logic to reverse the array. */ int* left_ptr = arr; int* right_ptr; int temp; for(i = 0; i < num; i++) { if(i == num - 1) { right_ptr = (arr + i); } } while(left_ptr < right_ptr) { temp = *right_ptr; *right_ptr = *left_ptr; *left_ptr = temp; right_ptr--; left_ptr++; } for(i = 0; i < num; i++) { printf("%d ", *(arr + i)); } free(arr); return 0; }
Output:
So, in this way we’ve learned how to code the array reversal program with an explanation. If you’ve any doubts then please feel free to contact us. We’ll reach you as soon as possible.
Thanks and Happy Coding :)
Also Read:
This website uses cookies.