Piszę sobie program, gdzie w jednej części potrzebuje dodawać m-1 zer do wektora po każdym elemencie czyli dla np. m=3 i wektorze składającym się z {1,2,3,4,5,6} powinien być wynik {1,0,0,2,0,0,3,0,0,..} i to wygląda, że działa poprawnie:
for (auto it = tab.begin() + 1; it < tab.end(); it = it + m) {
for (j = 1; j < m; j++) {
it = tab.insert(it, 0);
}
{
Natomiast jeśli chciałbym usuwać m-1 elementów po każdym kolejnym elemencie czyli dla np. m=3 i wektorze składającym się z {1,2,3,4,5,6} powinien być wynik {1,4} no i tu coś nie chce działać poprawnie. Niestety nie działa to jak należy i nie mam pomysłu co robię źle.
for (auto ot = tab2.begin(); ot < tab2.end(); ot++) {
for (j = 0; j < m - 1; j++) {
ot = tab2.erase(ot + 1);
}
}