product of array in cpp

#include <iostream>
#include <vector>

std::vector<int> productExceptSelf(const std::vector<int>& nums) {
    int n = nums.size();
    std::vector<int> result(n, 1);

    int left_product = 1;
    for (int i = 0; i < n; ++i) {
        result[i] *= left_product;
        left_product *= nums[i];
    }

    int right_product = 1;
    for (int i = n - 1; i >= 0; --i) {
        result[i] *= right_product;
        right_product *= nums[i];
    }

    return result;
}

int main() {
    std::vector<int> nums = {1, 2, 3, 4};
    std::vector<int> result = productExceptSelf(nums);

    std::cout << "Resultant Array: ";
    for (int num : result) {
        std::cout << num << " ";
    }

    return 0;
}