Вы не инициализируете i
. Используйте for (int i = 0; i<36;)
. Кроме того, новая переменная forth
выделяется на каждой итерации тела цикла. Таким образом, тест fourth==0
всегда будет давать false
.
Я хочу сделать так, чтобы 4 от каждого числа возвращалось от 2 до 10
Я бы использовал самый прямой подход:
for (int value = 2; value <= 10; ++value)
{
for (int count = 0; count < 4; ++count)
{
vec.push_back(value);
}
}
Единственная оптимизация, которую я бы сделал, - это убедиться, что емкость вектора достаточна перед входом в цикл. Я бы оставил другие оптимизации для компилятора. Я предполагаю, что то, что вы получаете, пропуская внутренний цикл, вы проигрываете частым делением по модулю.