Форум программистов, компьютерный форум 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, ничего не помогает. Возникают различные ошибки. Исходное задание: считать строку и заменить все вхождения abc на 123. В коде ниже не считывается переменная строки scanf'ом. #include "stdafx.h" #include <string.h>... 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 и т.д.) и заменяет каждую из них на два элемента: повторяющееся число и длину последовательности. Выдать результирующую последовательность и пары "длина - число последовательностей данной длины" вход: 1 1 1 2 2 2 2 3 4 4 4 5 5 5 выход: 1 3 2 4 3 4 3 5 3 1 - 1 2 -...
C++ Программа для нахождения определенного интеграла Помогите, написать программу для нахождения определенного интеграла с точностью Е = 10-3 для заданных границ с помощью трех методов: Прямоугольников. Трапеций. Симпсона. Границы: a = 0; b = √3; Сама функция: подробнее

Показать сообщение отдельно
Ptomaine
 Аватар для 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 ".
 
Текущее время: 19:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru