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

Метод для прохода по вектору сложного класса определения и удаления не нужных элементов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачи на языке С++ http://www.cyberforum.ru/cpp-beginners/thread648570.html
Вам предоставляется 5 рабочих кодов программа, написанная на GNU C + +. Вы должны скомпилировать и запустить эти программы с использованием различных наборов исходных данных для оценки эффективности и какие проблемы они решают. За эти 5 программ выполнять следующие задачи: 1. Анализ сложности каждой задачи в терминах Большой обозначения Oh. Например, O (N * Log (N)), где N - это входной...
C++ Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее справа Являюсь самоучкой, так что прошу не ругаться сильно. Задача: Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число. Сама наработка: П. 5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. http://www.cyberforum.ru/cpp-beginners/thread648549.html
C++ Составить описание класса для представления комплексных чисел
Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
C++ оптимизировать алгоритм поиска вхождений строки в текстовый файл (1 Мб)
Здравствуйте. По заданию требовалось составить программу для подсчета вхождений разных сочетаний букв с алфавита от 1 буквы до 4 в текстовый файл, размером 1 Мб. Т.е, например, для латиницы это a, b, c, ... z, aa, ... az, aaaa, ..., zzzz. Только алфавит надо было взять не латинский (я взял греческий). Результаты поиска записать в файл .csv через запятую. Программу то я написал, да вот...
C++ Количество цифр после точки http://www.cyberforum.ru/cpp-beginners/thread648534.html
Можно ли посчитать количество цифр после точки в числе, введенном пользователем?
C++ Найти положительные действительные Задается любое положительное действительное число R. Найти положительные действительные R1,R2,...,Rn, Ri<4,i=1,...,n, такие, что R=R1*R2*...*Rn=R1+R2+...+Rn подробнее

Показать сообщение отдельно
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 107
08.09.2012, 14:59     Метод для прохода по вектору сложного класса определения и удаления не нужных элементов
Собственно неработающий метод:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void OfficeTovarCollection::plusifneed(){
        vector<OfficeTovar>:: iterator it1=begin();
        vector<OfficeTovar>:: iterator it2=begin()+1;
        while(it2!=end())
        {
            if((*it1._Ptr==*it2._Ptr)&&(it1._Ptr->getExpiry().getData()->tm_mon==it2._Ptr->getExpiry().getData()->tm_mon)
                &&(it1._Ptr->getExpiry().getData()->tm_year==it2._Ptr->getExpiry().getData()->tm_year)){
 
                    it1->setPcs(it1->getPcs()+it2->getPcs());
 
//                  this->clear();  
//                  this->erase(it2);
                    //it2++;
            }
            else
            {
                it1=it2;
                it2++;
            }
 
        }
    }
Ошибка вылетает на clear(я знаю что удаляет все) и erase типо ошибка доступа. OfficeTovarCollection - наследник класса vector<OfficeTovar>.
класс OfficeTovar аналог товара здесь: Сортировка вектора сложного класса (Просто для тех кто знает)

Что может быть не так? В этом методе я должен пройтись по отсортированному вектору <OfficeTovar>, сложить значения (инт) Pcs в одинаковых экземплярах OfficeTovar сохранить общее в одном, а затем удалить повторяющейся.
Как это лучше сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru