Creative Way to Initialize a Vector in C++

How can you initialize a vector in C++ with specific values based on input?

Four doubles are read from input as variables distance1 to distance4. Declare a vector of doubles named bikingDistance and initialize the elements at the even indices with the value 0 and the odd indices with the variables distance1 to distance4 in the order the input doubles are read. Ex: If the input is 5.06 20.58 6.5 19.94, how would you set up the vector?

Solution:

In this code, we first declare the four double variables `distance1` to `distance4` to read the input values. Then, we create a vector of doubles named `bikingDistance` and initialize its elements at even indices with 0 and at odd indices with the input values in the order they were read. Finally, we iterate over the vector and output each element separated by a space.

To achieve this, we can follow the code snippet below:


#include 
#include 

int main() {
    double distance1, distance2, distance3, distance4;
    std::cin >> distance1 >> distance2 >> distance3 >> distance4;
    
    // Initialize the vector with specific values based on input
    std::vector bikingDistance = {0, distance1, 0, distance2, 0, distance3, 0, distance4};
    
    // Output the vector elements
    for (const auto& distance : bikingDistance) {
        std::cout << distance << " ";
    }
    std::cout << std::endl;
    
    return 0;
}
    

If you run the program with the example input "5.06 20.58 6.5 19.94", the output will be "0 5.06 0 20.58 0 6.5 0 19.94" as expected.

← The teal ticket electronic checklist on canvas Using my dict get key default what will this print →