Write a C program to reverse an array using pointers.
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j, n, *num, temp;
/* get the number of elements from the user */
printf("Enter the number of elements:");
scanf("%d", &n);
num = (int *)malloc(sizeof(int) * n);
/* input array elements from the user */
printf("Enter your inputs:\n");
for (i = 0; i < n; i++) {
printf("Data[%d]: ", i);
scanf("%d", (num + i));
}
i = 0, j = n - 1;
/* reverse the given array */
while (i < j) {
temp = *(num + i);
*(num + i) = *(num + j);
*(num + j) = temp;
j--, i++;
}
/* print the results */
printf("\nReversed the given array:\n");
for (i = 0; i < n; i++) {
printf("%d ", *(num + i));
}
printf("\n");
return 0;
}
#include <stdlib.h>
int main() {
int i, j, n, *num, temp;
/* get the number of elements from the user */
printf("Enter the number of elements:");
scanf("%d", &n);
num = (int *)malloc(sizeof(int) * n);
/* input array elements from the user */
printf("Enter your inputs:\n");
for (i = 0; i < n; i++) {
printf("Data[%d]: ", i);
scanf("%d", (num + i));
}
i = 0, j = n - 1;
/* reverse the given array */
while (i < j) {
temp = *(num + i);
*(num + i) = *(num + j);
*(num + j) = temp;
j--, i++;
}
/* print the results */
printf("\nReversed the given array:\n");
for (i = 0; i < n; i++) {
printf("%d ", *(num + i));
}
printf("\n");
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Enter the number of elements:4
Enter your inputs:
Data[0]: 10
Data[1]: 20
Data[2]: 30
Data[3]: 40
Reversed the given array:
40 30 20 10
Enter the number of elements:4
Enter your inputs:
Data[0]: 10
Data[1]: 20
Data[2]: 30
Data[3]: 40
Reversed the given array:
40 30 20 10
No comments:
Post a Comment