Higher
|
||||||||||||||||
1 | ||||||||||||||||
Пара вопросов по итераторам09.05.2011, 12:36. Показов 967. Ответов 2
Метки нет Все метки)
(
1. Почему в этом коде элементы удаляются через одного?
Пробовал по разному, последний вариант:
UPD: 2й вопрос решил так
0
|
|
09.05.2011, 12:36 | |
Ответы с готовыми решениями:
2
Пара вопросов по С++ Пара глупых вопросов пара вопросов по GUI |
18 / 18 / 7
Регистрация: 07.11.2010
Сообщений: 136
|
||||||
09.05.2011, 12:58 | 2 | |||||
вот так можно
1
|
![]() 623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
||||||
09.05.2011, 13:23 | 3 | |||||
потому что при каждом erase все итераторы вектора, находящиеся дальше удаленного элемента сдвигаются, а сам erase возвращает правильный итератор на следующий элемент, которой стоит после удаленного. Вы этих сдвигов не учитываете, следовательно, при каждом удалении у вас итератор сдвигается на одну позицию дальше.
Будет правильнее сделать так :
не работает код потому что у вас в условии дизъюнкция стоит,когда должна стоять конъюнкция условий. В вашем варианте он будет молотить цикл во-первых, до конца, пока не удалит все элементы( если массив полностью из нулей состоит ), потому что первая часть условия будет оставаться истинной, а потом и вовсе будет исключение о выходе за границы массива.
1
|
09.05.2011, 13:23 | |
09.05.2011, 13:23 | |
Помогаю со студенческими работами здесь
3
Пара вопросов о рандомайзере и RadioButton Пара вопросов про массивы вставление строк и пара вопросов Пара вопросов по функторам stl Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |