Jim Langston schrieb:
> Gerhard Wolf wrote:
>> Hi,
>>
>> i have to vectors.
>> std::vector<double> a;
>> std::vector<double> b;
>> same type, size and have synchronous value pairs. The values in "a"
>> are decimal time values (linear increasing).
>>
>> Now i want to copy in a 3rd vector "c" all elements from a start value
>> to a end value. My first idea was something like:
>>
>> std::vector<double> c; // target
>> for (std::vector<double>::iterator it=a.begin(); it != a.end(); it++)
>> { if (*it > startvalue && *it < endvalue) {
>> c.push_back(?);
>> }
>> }
>>
>> do i need a 2nd iterator for vector b !? but how?
>> or ist there a easier was to get the values to vector c?
>
> It is hard to understand what, exactly, you want vector c to end up
> containing.
>
> For example, say vector a is:
> 1.0, 1.5, 2.0, 2.5
> and vector b is:
> 12.0, 12.25, 12.5, 12.75
>
> What do you want vector c to contain?
>
> In this case it would probably be better to use an index.
>
> for ( std::size_t i = 0; i < a.size() && i < b.size(); ++i )
> {
> // Here you can reference a[i] and b[i] or a.at(i) b.at(i)
> }
>
>
ok this seems to be the easiest way. thanks


|