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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача 1567. SMS-спам и проблема двух решений http://www.cyberforum.ru/cpp-beginners/thread359187.html
Собственно задача: http://acm.timus.ru/problem.aspx?space=1&num=1567 Проблема в том, что моё решение со switch'ем даёт правильные результаты, в том числе правильно считает пример, но он-лайн проверку не проходит. Есть аналогичное решение, через if'ы, и оно проходит проверку. Вопрос - в чём разница? где моя версия неправильно считает?( P.S. Альтернативный вариант решения мне известен, но...
C++ Работа с файлами, Алгоритм не могу продумать. 1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Расставить фразы в этом файле в порядке увеличения количества слов в каждой из них. 2. Компоненты типизированного файла – массивы, состоящие из 6 вещественных чисел. Вывести на экран тот из них, сумма отрицательных элементов которого больше. Компоненты типизированного файла – целые... http://www.cyberforum.ru/cpp-beginners/thread359185.html
C++ Интересное поведение cin.getline();
Доброго времени суток! Я не устаю терроризировать форум своими тупыми вопросами, но для этого он и создан. На этот раз у меня проблема с методом getline(); Имеется код: switch(menuNumber){ case 1: cout << "Input name of the first player: "; cin.getline(namePlayer, sizeof(namePlayer)); ttt.changePlayerName(namePlayer, 0); cout << "Input name of the second player: ";
Проблема с очисткой памяти C++
Здравствуйте! Помогите пожалуйста исправить проблему с очисткой памяти в void memfree(). Заранее спасибо. #include "stdafx.h" #include <windows.h> #include "resource.h" #include <string> #define MAXPOINTS 1000 int ko,key1=0; int kolreb;
C++ дайте наводку, программисты и математики, как делать задачу подобного типа http://www.cyberforum.ru/cpp-beginners/thread359171.html
Условие задачи: Найти максимальное значение, которое может быть представлено при использовании типа unsigned char :pardon: P.S.: Нужно написать соответствующую программу
C++ Невозможно разрешить идентификатор... Не понимаю в чем проблема. Начал изучать WinAPI, ну вообщем по учебе. И решил скомпилисть пример из книжки, попробовать. Написал как там, но выдает ошибки(пишу в NetBeans): Невозможно разрешить идентификатор DWORD Невозможно разрешить идентификатор GetLogicalDriveStringsA Невозможно разрешить идентификатор nBufferLength ... код:#include <cstdlib> #include <iostream> #include <winbase.h> подробнее

Показать сообщение отдельно
ZaxarPal
1 / 1 / 0
Регистрация: 18.01.2011
Сообщений: 83
02.10.2011, 11:25  [ТС]     Удаление элемента вектора в цикле.
Почему list лучше вектора? После удаления итераторы остаются корректными? В моем случае выходит чаще всего как раз удаление элемента с начала вектора. Причем очень часто в списке находится лишь один элемент. Ведь удаляется элемент у которого таймер закончился, а закончится он быстрее как раз у первого.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    for (std::vector<Ex>::iterator itr = List.begin(); itr != List.end(); )
    {
        if ((*itr).timer <= diff)
        {
            <выполнить операцию над (*itr).value>
            <удалить элемент>
        }
        else
        {
            (*itr).timer -= diff;
            ++itr;
        }
    }
Пробовал использовать такой код - все равно краш. Тестирую пока только на одном элементе в векторе.
 
Текущее время: 00:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru