C Examples

WAP in C to Send all the negative elements of an array to the end without altering the original sequence

The Program in C to Send all the negative elements of an array to the end without altering the original sequence is given below:

#include <stdio.h>

void moveNegatives(int array[], int size) {
    int i = 0, j = size - 1;

    while (i < j) {
        if (array[i] < 0) {
            if (array[j] >= 0) {
                // swap array[i] and array[j]
                int temp = array[i];
                array[i] = array[j];
                array[j] = temp;
                i++;
                j--;
            } else {
                j--;
            }
        } else {
            i++;
        }
    }
}

int main() {
    int array[100], size;
    printf("Enter the size of array : ");
    scanf("%d", &size);
    printf("Enter the elements of array : ");
    for (int i = 0; i < size; i++) {
        scanf("%d", &array[i]);
    }

    moveNegatives(array, size);

    printf("After moving negatives to end : ");
    for (int i = 0; i < size; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Output:

Enter the size of array : 4
Enter the elements of array : -1
2
-7
5
After moving negatives to end : 5 2 -7 -1

Pro-Tips💡

This program takes input from the user for the array and its size, and then calls the “moveNegatives” function which uses a two-pointer approach to move all negative elements to the end of the array.


It starts with two pointers i and j, one pointing to the first element and another to the last element, then it iterates over the array, and if the element at i is negative and the element at j is non-negative, it swaps the elements and increments i and decrements j.

If the element at i is non-negative or the element at j is negative, it only increments i or decrements j respectively.


Please note that this code is given as an example and may not be the most efficient or optimal solution for the problem, and also arrays are fixed size in C and if size of array is not sufficient it will cause buffer overflow.

Learn C-Sharp ↗

C-sharp covers every topic to learn about C-Sharp thoroughly.

Learn C Programming ↗

C-Programming covers every topic to learn about C-Sharp thoroughly.

Learn C++ Programming↗

C++ covers every topic to learn about C-Sharp thoroughly.

Codeauri is Code Learning Hub and Community for every Coder to learn Coding by navigating Structurally from Basic Programming to Front-End Development, Back-End Development to Database, and many more.

Related Posts

C# Program to Find Sum of Rows & Columns of a Matrix

The Program in C# Program to Find Sum of Rows & Columns of a Matrix is given below: Output: Hello Codeauri Family,enter the number of rows and columns…

C# Program to Calculate Determinant of Given Matrix

The Program in C# Program to Calculate Determinant of Given Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns of the matrix…

C# Program to Find Sum of right Diagonals of a Matrix

The Program in C# Program to Find Sum of right Diagonals of a Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns…

C# Program to Find Transpose of Given Matrix

The Program in C# Program to Find Transpose of Given Matrix is given below: Output: Hello Codeauri Family, enter the number of rows and columns in the matrix:22Enter…

C# Program for Multiplication of two square Matrices

The Program in C# Program for Multiplication of two square Matrices is given below: Output: Hello Codeauri Family, enter the number of rows/columns in the matrices:2Enter the elements…

C# Program to Delete Element at Desired position From Array

The Program in C# Program to Delete Element at Desired position From Array is given below: Output: Hello Codeauri Family, enter the number of elements in the array:4Enter…

Leave a Reply

Your email address will not be published. Required fields are marked *

Your Journey into Code Begins Now: Discover the Wonders of Basic Programming

X