while( v > 0 ) { if( vec[x-1] - real[x-1] <= v ) { v -= ( vec[x-1] - real[x-1] ); real[x-1] = vec[x-1]; x++; } else { real[x-1] += v; break; } }