How to move all zeroes to end of array in C++

1 Answer

0 votes
#include <iostream>

void move_zeroes_to_end(int arr[], int size) { 
    int j = 0;
    for (int i = 0; i < size; i++) {
        if (arr[i] > 0) {
            int tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            j++;
        }
    }
} 
    
int main() 
{ 
    int arr[] = { 0, 8, 0, 0, 0, 7, 15, 0, 0, 4, 6, 99 }; 
    int size = sizeof(arr)/sizeof(arr[0]); 
    
    move_zeroes_to_end(arr, size); 
    
    for (int i = 0; i < size; i++) 
       std::cout << arr[i] << " ";
    
    return 0; 
} 
  
  
  
  
  
/*
run:
   
8 7 15 4 6 99 0 0 0 0 0 0 
   
*/

 



answered Nov 27, 2021 by avibootz
edited Nov 27, 2021 by avibootz

Related questions

1 answer 136 views
136 views asked Nov 27, 2021 by avibootz
1 answer 200 views
200 views asked Nov 28, 2021 by avibootz
1 answer 200 views
1 answer 227 views
1 answer 196 views
1 answer 223 views
1 answer 171 views
171 views asked Nov 27, 2021 by avibootz
...