C Online Compiler
Example: C Program to Rearrange Positive and Negative Numbers in Array
C
C++
C#
Java
Python
PHP
main.c
STDIN
Run
// C Program to Rearrange Positive and Negative Numbers in Array #include <stdio.h> void alterNumber(int *arru, int i, int j) { int temp = arru[i]; arru[i] = arru[j]; arru[j] = temp; } void splitNegativeElement(int *arru, int size) { int temp, left = 0, right = size - 1; while (right > left) { while (arru[left] < 0) left++; while (arru[right] > 0) right--; if (left < right) { alterNumber(arru, left, right); } } } // It's the driver function of // array element arrangements void reArrangeNumbers(int *arru, int size) { int i, j; splitNegativeElement(arru, size); for (i = 0; arru[i] < 0; i++); for (j = 1; (j < i) && (arru[j] < 0); j += 2) { alterNumber(arru, i, j); i++; } return; } int main() { int i, arru[] = { -14, 18, -15, -16, 15, 29, 27, 21, -21, -11, 29 }; int arru_size = sizeof(arru) / sizeof(arru[0]); // It's the array iteration printf("------This is the given array before arrangement------\n\t"); for (i = 0; i < arru_size; i++) { printf("%d, ", arru[i]); } printf("\n\n"); // It's the array iteration printf("------This is the Re-arranged array------\n\t"); // This will re-arrange the given array reArrangeNumbers(arru, 10); for (i = 0; i < 11; i++) { printf("%d ", arru[i]); } printf("\n"); return 0; }
Output
Clear
ADVERTISEMENTS