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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
#1

STL - C++

20.04.2010, 18:07. Просмотров 1392. Ответов 7
Метки нет (Все метки)

Блин нарорд... я затупил по жоскому.... у меня std::vector, пытаюсь добавить элемент на n-e место:

C++
1
2
3
4
5
6
7
        using namecpace std;
        vector<PPoint*> contur;
//_____________________________________________________
        PPoint* t;
        vector<PPoint*>::iterator it=contur.begin();
        advance(it,n);
        contur.insert(it,t);
ошибок не вызывает, а объект не добавляется((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 18:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос STL (C++):

STL - C++
Добрый вечер всем кто открыл эту вкладку! Надо реализовать кольцевой упорядоченный двозвязний список на STL + некоторые функции работы с...

STL - C++
Всем привет :) Задача следующая - Нужно считать из файла строки, запихнуть их в стек и вывести на экран, чтобы перед ними был номер...

STL в С++ - C++
Нужна помощь! Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые...

STL - C++
std::vector&lt;char*&gt; files; Объясните пожалуйста как правильно заполнять такой вектор

STL - C++
где можно посмотреть исходный код STL??

STL - C++
помогите сделать ввод ФИО и возраста через STL .Вот часть моего кода#include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
20.04.2010, 18:33 #2
C++
1
2
3
4
5
6
7
8
9
10
    vector<PPoint*>::iterator it=contur.begin();
 
    assert(n <= contur.size()); // сработает или нет?
    if (n <= contur.size())
    {
        advance(it,n);
        contur.insert(it,t);
    }
    else
        throw out_of_range("Wrong index!");
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 19:11  [ТС] #3
нет.. блин мне нужно, чтобы она добавила объекты к существующим... допустим, у меня имеется 2 объекта в векторе, а надо добавить третий между ними... как??
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
20.04.2010, 19:28 #4
Вот именно так.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
20.04.2010, 19:41 #5
или так (n - 0-based индекс, который будет иметь элемент после добавления):

C++
1
2
3
4
5
6
if (n <= contur.size()){
    contur.insert(contur.begin() + n, t);
} else {
    // do something else, maybe append it at the end?
    ;
}
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 19:44  [ТС] #6
пытался... тоже самое

Добавлено через 49 секунд
если ты имеешь ввиду, что n - это Int
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
20.04.2010, 19:54 #7
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
пытался... тоже самое

Добавлено через 49 секунд
если ты имеешь ввиду, что n - это Int
попробуй по-простому, как я тебе написал. зачем ты усложняешь? advance() отложи для других контейнеров. для вектора он ни к чему. vector - random access container type.

Добавлено через 5 минут
кстати, у тебя:

PPoint* t;

т.е. t объяслена как указатель, но значения ей не присваивается, там какой-то мусор лежит, но этот мусор должен добавиться к вектору. проблемы начнутся при попытке использовать его как указатель на что-то.
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
20.04.2010, 21:11  [ТС] #8
Цитата Сообщение от novi4ok Посмотреть сообщение
т.е. t объяслена как указатель, но значения ей не присваивается, там какой-то мусор лежит, но этот мусор должен добавиться к вектору. проблемы начнутся при попытке использовать его как указатель на что-то.
на это не обращай внимание... t принимается в функции

Добавлено через 49 минут
чорд.. не в этом трабла была... сори челы и спс за помощь))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2010, 21:11
Привет! Вот еще темы с ответами:

STL - C++
Задача 2. Во входном файле in.txt расположена таблица, в каждой строке которой хранится &quot;владелец&quot;, &quot;домашнее животное&quot;, &quot;кличка&quot;....

STL - C++
где можно почитать про STL очень подробно что бы исходные коды тоже были, какие структуры данных используются в реализации и тд тд тд ...

STL. - C++
Всем доброго времени суток. У меня имеется два вопроса. 1) У нас имется квадратная матрица. И чтобы найти в строках, к примеру,...

STL - C++
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.04.2010, 21:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru