Reverse an array where the output will be like this...
Write a c program to reverse an array before target number and after target number. i.e. if the array is 1 2 3 4 5 6 7 and the target number is 4 then it will print 3 2 1 4 7 6 5
Sample Output
Enter array size: 7 Enter array numbers: 1 2 3 4 5 6 7 Enter a target number: 4 3 2 1 4 7 6 5 Process returned 0 (0x0) execution time : 10.573 s Press any key to continue.
Source Code
#include<stdio.h> int main() { int a[100], i, j, k, size, num, LHS[100], RHS[100]; /** LHS = Left Hand Side RHS = Right Hand Side LHS is the left side of its target number and RHS is the right side of target number. */ printf("Enter array size: "); scanf("%d", &size); printf("Enter array numbers: "); for(i = 0; i < size; i++) { scanf("%d", &a[i]); } target: printf("Enter a target number: "); scanf("%d", &num); for(i = 0; i < size; i++) { if(num == a[i]) { break; } } if(num != a[i]) { printf("\nTarget number not found!\nThe target number must be include in input number.\n\n"); goto target; } for(j = i - 1, k = 0; j >= 0 ; j--, k++) { LHS[k] = a[j]; } for(j = 0; j < i; j++) { a[j] = LHS[j]; } for(j = size - 1, k = i + 1; k < size; k++, j--) { RHS[k] = a[j]; } for(j = i + 1; j < size; j++) { a[j] = RHS[j]; } for(i = 0; i < size; i++) { printf("%d ", a[i]); } printf("\n"); return 0; }
Sample Output
Enter array size: 5 Enter array numbers: 1 2 3 4 5 Enter a target number: 9 Target number not found! The target number must be include in input number. Enter a target number: 7 Target number not found! The target number must be include in input number. Enter a target number: 3 2 1 3 5 4 Process returned 0 (0x0) execution time : 16.298 s Press any key to continue.
No comments:
Post a Comment