How to get vector subset in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
 
std::vector<int> getSubset(const std::vector<int>& vec, int startIndex, int length) {
    std::vector<int> subset;
 
    // Ensure the range is valid
    if (startIndex < 0 || startIndex + length > vec.size()) {
        std::cerr << "Invalid range: Subset exceeds array bounds." << std::endl;
        return subset;
    }
 
    for (int i = 0; i < length; ++i) {
        subset.push_back(vec[startIndex + i]);
    }
 
    return subset;
}
 
int main() {
    std::vector<int> vec = {3, 7, 9, 0, 4, 2, 1, 8};
 
    // Define start index and length of the subset
    int startIndex = 2; // Start index
    int length = 4;     // Number of elements in the subset
 
    // Get the subset
    std::vector<int> subset = getSubset(vec, startIndex, length);
 
    std::cout << "Subset: ";
    for (const auto& element : subset) {
        std::cout << element << " ";
    }
    std::cout << std::endl;
 
    return 0;
}
 

 
/*
run:
  
Subset: 9 0 4 2 
  
*/

 



answered Mar 24, 2025 by avibootz
edited Mar 24, 2025 by avibootz
...