Форум программистов, компьютерный форум CyberForum.ru

Удаление элемента из вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Крестики-нолики ревью http://www.cyberforum.ru/cpp-beginners/thread950335.html
Здравствуйте! Учусь программировать сам по книжке и гуглу, а хочется поучиться у живых людей. Вот моя первая самостоятельная программка - крестики-нолики. Она очень простая, ходы по очереди, но главное - работает:). Прошу посмотреть, оценить и подсказать что исправить (особенно алгоритм проверки выигрыша): #include <iostream> #include <clocale> using namespace std; void...
C++ Подскажите как подключить gl/glut.h Я использую MinGw Developer Studio ver 2.05. В ней отсутствует библиотека <gl/glut.h>. Откуда ее можно скачать и в какую папку нужно его скинуть, что бы можно было ею пользоваться??? P.S. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread950327.html
Объявить статический массив размерности 20. Заполнить его «случайным образом»... C++
Задача 2. Объявить статический массив размерности 20. Заполнить его «случайным образом». Объявить два указателя: на начало и на конец массива. Двигать первый указатель вправо, пока не встретиться ноль, второй влево, пока не встретиться ноль. Используя два указателя распечатать элементы массива между двумя нулями.
C++ Как преобразовать мили в километры?
6. Написать программу, которая получает количество сухопутных миль, переводит их в километры и выводит результат в консоль. 1 миля = 1.609 км. #include <iostream> using namespace std; void main() { float a = 1.609; float b = 1.000; cout << "1=" << a; }
C++ Ошибка при работе с библиотеку MySql http://www.cyberforum.ru/cpp-beginners/thread950269.html
Ошибка при когда не подключена библиотека: Picture1. А вот ошибка при подключенной библиотеки: Picture2. Хрен знает что уже делать. Думал что библиотека под Visual Studio так пытался с помощью coff2me как-то так. Так там ошибка погуглил ошибка означает что библиотека это как раз под C++ Builder. Что делать не знаю. Добавлено через 24 минуты Вот пытаюсь либник переобразовать Picture3
C++ програма на масив структур.кому не сложно Создать масив структур, каждая с которых состоит с селементов: факультет, курс, група, фамилии студентов, оценки, стипендия. Определить: 1) фамилии студентов со степухой и их средний бал. 2)факультет, где на первом курсе наименее двоишников. 3)курс с наибольшим количеством отличников. Помогите сделать програму. Только недавно начал учить С++, но еще не успел усвоить даную тему, а мой препод... подробнее

Показать сообщение отдельно
maksqwe
4 / 3 / 1
Регистрация: 29.03.2012
Сообщений: 11
08.09.2013, 19:45     Удаление элемента из вектора
Если нужно удалить только лишние смежные дубли то:

C++
1
2
3
4
5
6
7
8
9
10
int prev = -1; // то число которое не попадется в контейнере... хотя можно и без него, нужно для первой проверки
while (it!=v.end()) {
    if (prev == *it) {
        it = v.erase(it);
    }
    else {
        prev = *it;
        ++it;
    }
}
то есть иммем на входе: (1, 2, 2, 2, 3, 3)
на выходе получим: (1, 2, 3)
Думаю как раз это имел ввиду.

P.S. давно с stl контейнерами не имел дело, Qt расслабляет

Добавлено через 11 минут
Обновленный вариант.

C++
1
2
3
4
5
6
7
8
9
10
int prev;
while (it!=v.end()) {
    if (it != v.begin() && prev == *it) {
        it = v.erase(it);
    }
    else {
        prev = *it;
        ++it;
    }
}
Добавлено через 5 минут
Так что, решили проблему твою? Если да, своим способом, напиши каким, или способом из этой темы?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru