Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не может удалить элемент из вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить класс для рациональных чисел http://www.cyberforum.ru/cpp-beginners/thread664491.html
Начало изучения понятия класса и объекта в С++, для меня много не ясного. Помогите, пожалуйста. Задача: необходимо Определить класс (Rational) для рациональных чисел. Рациональное число - число...
C++ не проходит инцилизация вектора #include <iostream> #include <vector> #include <ctime> // function RandomInitializationVector void PrintElementVector(std::vector <int> vector); void RandomInitializationVector(std::vector... http://www.cyberforum.ru/cpp-beginners/thread664480.html
C++ Программа, которая помогает найти число х между 0 и 1000
Программа, которая помогает найти число х между 0 и 1000. Это число х выбирается программой. Использовать функцию rand. Когда вводишь число, программа должна сказать "слишком большое" или "слишком...
Вектор C++
Заполните вектор случайными числами. Напишите вывод на экран. Отсортируйте вектор. Напишите функцию, которая удалит из вектора все простые числа. Напишите функцию, которая копирует все простые...
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread664425.html
Ребят помогите написать код двух задач. Задача 1 Роздилите абитуриентов, что выдержали конкурс, между двумя группами с ближайшим количественным составом. Задача 2 Заданно значение функции...
C++ Как правильно обьявить геометрические точки? Здраствуйте! Задача стоит такая : Добавить геометрическую точку с указанными координатами. (х у) Отсортировать геометрические точки в сторону увеличения расстояния от начала координат. Теперь... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.10.2012, 10:30
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
DeletePrimes не получается удалить. проблема в том что вылетает программа.
Правильно что вылетает. См. комментарии:
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
void DeletePrimes(std::vector<int> &vec)
{
 size_t i, place = 0, limit = vec.size();// допустим изначально vec такой: 1 2 3 4 5 6 7 8 9 10. limit будет равна 10
for (i = 0; i < limit; ++i) 
 {
 if(Resheto_Atkina(vec[i]))// в этом цикле могут быть удалены некоторые элементы vec
 {
 vec.erase(vec.begin() + i);// допустим vec сейчас такой: 1 5 7 (всего три элемента, vec.begin() указывает на элемент 1). И в этоже время i равно 9. Какой элемент мы будем удалять?: vec.begin() + 9
 }
 }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru