How to copy non-zero numbers from array to other array in C++

1 Answer

0 votes
#include <iostream> 
#include <vector>

using namespace std; 
  
vector<int> copy_non_zero(int arr[], int len) {    
    vector<int> vec;

    for (int i = 0; i < len; i++)
        if (arr[i] != 0)
            vec.push_back(arr[i]);
            
    return vec;
}

int main() 
{ 
    int arr[] = {1, 0, 0, 4, 0, 2, 0, 0, 0, 3, 5, 0}; 
    int len = sizeof(arr)/sizeof(arr[0]); 
    
    vector<int> vec = copy_non_zero(arr, len); 
    
    for (int i = 0; i < vec.size(); i++)
        cout << vec[i] << endl;
        
    return 0; 
} 


/*
run:

1
4
2
3
5

*/

 



answered Apr 23, 2019 by avibootz

Related questions

...