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

итераторы вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ пропукае ввод строки http://www.cyberforum.ru/cpp-beginners/thread690157.html
Почему в этой программе пропускает ввод строки? gets(s); #include <iostream> #include <string.h> #include <conio.h> #include <stdio.h> const int n=10;
C++ Заменить в строке все вхождения abc на 123 Попросили сделать простейшую программку (по информатике), вроде как шарю, но сейчас просто не могу понять, что происходит и почему не работает, перепробовал уже вариантов 10, ничего не помогает.... http://www.cyberforum.ru/cpp-beginners/thread690146.html
Заполнить массив следующим образом C++
Помогите (очень нужно) на завтра. Создать одномерный массив (можно на 10 элементов) и заполнить его следующим образом: 1, 2, 1, 2, 1, 2 ... и так далее. Элементы массива не вводить а все сделать в...
C++ Раздвинуть заданный текст, вставив заданную последовательность
Раздвинуть заданный текст, вставив заданную последовательность после i-го символа каждого слова.
C++ Найти в массиве все повторяющиеся последовательности http://www.cyberforum.ru/cpp-beginners/thread690111.html
Создать программу, которая вводит c клавиатуры массив целых чисел, находит в нем все повторяющиеся последовательности (1 1, 2 2 2 и т.д.) и заменяет каждую из них на два элемента: повторяющееся число...
C++ Программа для нахождения определенного интеграла Помогите, написать программу для нахождения определенного интеграла с точностью Е = 10-3 для заданных границ с помощью трех методов: Прямоугольников. Трапеций. Симпсона. Границы: a = 0; b =... подробнее

Показать сообщение отдельно
Ptomaine
13 / 13 / 0
Регистрация: 22.10.2011
Сообщений: 35
07.11.2012, 12:29
Как уже сказали, вместо vector используй set<int>, если последовательность поступления значений не важна, то есть, если допускается сортировка.

Если сортировка не допустима, то вот так будет работать:

C++
1
2
    for (std::vector<int>::iterator cur(a.begin()); cur != a.end() && cur + 1 != a.end(); )
        if (*cur == *(cur + 1)) a.erase(cur + 1); else ++cur;
И ещё, переменную temp сделай типа int и убери " temp - '0' ", оставь только temp. Просто istream (как впрочем и ostream) умеет преобразовывать данные в нужные типы. Если нужны именно цифры, а не числа, то при добавлении в вектор сделай так " temp % 10 ".
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru