...
// ConsoleApplication2.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <vector>
#include <list>
void squareVector(std::vector<int>&array1)
{
std::list<int> listint;
for (int j = 0; j < array1.size();++j)
{
listint.push_back(array1[j]);
}
std::list<int>::iterator it;
it = listint.begin();
int val;
for (std::list<int>::iterator i = listint.begin(); i != listint.end(); ++i)
{
val = *i * *i;
listint.insert(it, val);
++it;
}
for (std::list<int>::iterator i = listint.begin(); i != listint.end(); ++i)
{
std::cout << *i << ", ";
}
}
int main()
{
std::vector<int>intlist ({ 1,3,2,5 });
squareVector(intlist);
}
...
Моя цель состоит в том, чтобы взять числа 1,3,2 и 5, поместить их в список, а затем поставить квадрат в квадрат после каждого числа, после чего мне удалосьвозьмите их в квадрате и поместите в список, но по какой-то причине туда возвращайтесь. то есть результат должен быть 1,1,3,9,2,4,5,25, но я получаю 1,1,9,3,4,2,25,5.
Я попытался добавить еще один инкремент к итератору, но во время выполнения выдает ошибку «невозможно инкрементировать итератор конечного списка».
Редактировать, спасибо всем за ваши комментарии, очень признателен, очевидно, мне еще многое предстоит узнать.