std::cout << "Вставьте новый элемент вектора после " << i- (m-firstcnt) << " элемента: ";
std::cin >> inp;
vc.insert(iter1 + i + 1, inp);
m++;
i++;
}
}
std::cout << "Результат: ";
for (int i = 0; i < m; i++)
std::cout << vc[i] << " ";
return 0;
}
kamimoza
11.06.2020
Программу надо сформатировать и тогда её структура будет видна лучше. А чтобы понять, как идет выполнение, в нужных точках ставим промежуточную выдачу - это называется "трассировкой".
var s, k: integer; label met; begin s:=-12; k:=90; Writeln('s=',s,', k=',k); s:=s+10; Writeln('s=',s); met: Writeln('Метка met:'); k:=k+10; Write('k=',k); if k<200 then s:=50 else s:=s+k; Writeln(', s=',s); if k<200 then goto met; Writeln('Результат: s=',s) end.
#include <iostream>
#include <vector>
int main()
{
int m,firstcnt,inp,X;
std::vector<int> vc;
// Русский язык в консоли
setlocale(LC_ALL, "Russian");
std::cout << "Размер вектора: ";
std::cin >> m;
firstcnt = m;
for (int i = 0; i < m; i++)
{
std::cout << i << " элемент вектора: ";
std::cin >> inp;
vc.push_back(inp);
}
std::cout << "Элемент X: ";
std::cin >> X;
for (int i = 0; i < m; i++)
{
if (vc[i] % X == 0)
{
auto iter1 = vc.cbegin();
std::cout << "Вставьте новый элемент вектора после " << i- (m-firstcnt) << " элемента: ";
std::cin >> inp;
vc.insert(iter1 + i + 1, inp);
m++;
i++;
}
}
std::cout << "Результат: ";
for (int i = 0; i < m; i++)
std::cout << vc[i] << " ";
return 0;
}