Упражнение P6.07 от C++ для всех: Напишите функцию vector<int> append(vector<int> a, vector<int> b)
, которая присоединяет b
после a
добавляющие векторы
Ex. a is 1 4 9 16
и b is 9 7 4 9 11
затем возвращает 1 4 9 16 9 7 4 9 11
Моя функция
vector<int> append(vector<int> a, vector<int> b)
{
vector<int> appended;
for (unsigned int i = 0; i < a.size(); i++)
{
appended.push_back(a[i]);
}
for (unsigned int i = 0; i < b.size(); i++)
{
appended.push_back(b[i]);
}
return appended;
}
Один из моих попыток:
int main()
{
cout << "Enter some numbers: ";
int input, input2;
vector<int> a, b;
while (cin >> input)
{
if (cin.fail())
{
cout << "Enter some numbers: ";
while (cin >> input2)
{
if (cin.fail()) {break;}
else {b.push_back(input2);}
}
}
else {a.push_back(input);}
}
return 0;
}
Как бы использовать cin
, чтобы получить векторы a
и b
при запуске функции main()
?
Что говорит ваш отладчик? –
Я не понимаю вложенный цикл. И 'while (cin >> input)' уже прерывает цикл при неудачном извлечении: проверка на '.fail()' бесполезна (и в случае внешнего цикла _never invoked_.) –
Прямо сейчас, это просто заканчивается – Alex