w3resource

C++ Exercises: Move all negative elements of an array of integers to the end of the array without changing the order of positive element and negative element

C++ Array: Exercise-18 with Solution

Write a C++ program to move all negative elements of an array of integers to the end of the array without changing the order of positive element and negative element.

Sample Solution:

C++ Code :

#include <iostream>
using namespace std;

void segregateElements(int nums[], int n)
{
    // Array to store result
    int result[n];

    int j = 0; // index of result
    for (int i = 0; i < n ; i++)
        if (nums[i] >= 0 )
            result[j++] = nums[i];
    if (j == n || j == 0)
        return;
 
    for (int i = 0 ; i < n ; i++)
        if (nums[i] < 0)
            result[j++] = nums[i];
 
    // Copy contents to nums[]
    memcpy(nums, result, sizeof(result));
} 
 
int main()
{
    int nums[] = {0, 9, -7, 2, -12, 11, -20}; 
    int n = sizeof(nums)/sizeof(nums[0]);
    cout << "Original array: ";
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
     segregateElements(nums, n);
 
    printf("\nArray elements after rearrange: ");
      for (int i=0; i < n; i++) 
      cout << nums[i] <<" ";
        return 0;
      
}

Sample Output:

Original array: 0 9 -7 2 -12 11 -20 
Array elements after rearrange: 0 9 2 11 -7 -12 -20     

Flowchart:

Flowchart: Move all negative elements of an array of integers to the end of the array without changing the order of positive element and negative element

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to sort (in descending order) an array in of distinct elements according to absolute difference of array elements and with a given value.
Next: Write a C++ program to find a number which occurs odd number of times of a given array of positive integers. In the said array all numbers occur even number of times.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter