Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

1 код верен второй нет

макс козырев Профи (656), на голосовании 2 недели назад
Всем привет. Подскажите, пж, код на 2-м скрине неверен. Первая ошибка была в том, что я написал int r;

Вторая — то, что я написал выражение r = v[i] * n;

Компилятор писал, что нельзя преобразовать int в vector, позже, когда я int r изменил на vector<int> r;

Он писал, что нельзя перегрузить оператор «=».

Дальше я не мог понять, в чем проблема, и ChatGPT исправил моё выражение на r.push_back(v[i] * n);

То есть я правильно понимаю, что в цикле я не мог использовать равенство векторов, пришлось использовать push_back?

И почему я не мог приравнять 1-й вектор с другим?
Голосование за лучший ответ
Dmitry Просветленный (22739) 1 месяц назад
 r = v[i] * n 
Такое невозможно - всему вектору r присвоить число.
Вы, наверное, хотели сделать:
 r[i] = v[i] * n 
Так сделать можно было, если бы r создали не пустым, а на v.size() элементов.
Про «приравнять вектор с другим» - легко. Тогда всё решение:
 vector<int> r = v;
for (int& val : r)
val *= 2;
return r;
Похожие вопросы