Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
3 / 3 / 0
Регистрация: 29.07.2016
Сообщений: 206
1

Сравнение 2-х списков и удаление одинаковых элементов из 2-го списка

19.11.2016, 07:18. Показов 2837. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# include <iostream>
# include <string>
# include <fstream>
# include <vector>
# include <iterator>
# include <algorithm>
 
using namespace std;
 
class Load 
{
protected:
    vector <string> Old;
    vector <string> New;
    vector <string> Write;
    string OldPack;
    string  NewPack;
            
public:
    
    void LoadPack ()
    {
        
        ifstream Old ("Pack.txt");
 
        if (Old)
        {
            while (getline (Old, OldPack))
            this -> Old.push_back (OldPack);
                        
            Old.close ();
        }
        else
            cout << "Ошибка!\n";
 
        ifstream New ("Pack2.txt");
 
        if (New)
        {
            while (getline (New, NewPack))
            this -> New.push_back (NewPack);
            
            New.close ();
        }
        else
            cout << "Ошибка!\n";
    }
    
};
 
class DubScan : public Load
{
public: 
    string Name;
public:
    
    void Scan ()
    {
        for (unsigned int i = 0; i < OldPack.size(); i ++)
            for (unsigned int c = 0; c < NewPack.size(); c ++)
                if (OldPack [i] == NewPack [c])
                {
                    NewPack.erease (remove (NewPack.begin (), NewPack.end (), NewPack [c]), NewPack.end ()); // error C2039  erease: не является членом "std::basic_string<_Elem,_Traits,_Alloc>"
                }
                else
                {
                    FileEntry ();
                }
    }
 
    void FileEntry ()
    {
        ofstream Entry (Name);
 
        if (Entry)
        {
            for (unsigned int i = 0; i < Write.size (); i ++)
                cout << Write.at (i) << '\n';
        }
        else
        {
            cout << "Ошибка!" << '\n';
        }
        Entry.close ();
    }
 
    DubScan (string h)
    {
        Name = h;
    }
    
};
 
int main ()
{
    setlocale (LC_ALL, "RUSSIAN");
 
    string h;
 
    cout << "Сверим 2 файла на наличие дублей" << endl;
    cout << "Одинаковые сотрем" << endl;
    cout << "Введем наименование файла записи:" << endl;
 
    cin >> h;
 
    DubScan Entr (h);
 
    Entr.FileEntry ();
    
    system ("pause");
    return 0;
}
Здравствуйте, пытаюсь написать что-нибудь для сравнения 2 списков, и удаления одинаковых элементов из второго списка.
Вылезает такая ошибка "error C2039: erease: не является членом "std::basic_string<_Elem,_Traits,_Alloc>"
Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2016, 07:18
Ответы с готовыми решениями:

Удаление из списка одинаковых элементов
Здравствуйте, нужно удалить из списка все одинаковые элементы (конкретно все нули), оболочка Pie32....

Удаление одинаковых элементов из списка
Доброго времени суток! Помогите пожалуйста! Есть структура: public struct person{ ...

Удаление одинаковых элементов списка
Как подправить процедуру delete чтобы она удаляла элементы из первого списка, которые входят из...

Удаление одинаковых элементов связного списка
Здраствуйте. Пробую удалить одинаковые елементы списка но не получается :( и память якобы...

4
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
19.11.2016, 08:00 2
erase().
0
3 / 3 / 0
Регистрация: 29.07.2016
Сообщений: 206
19.11.2016, 08:44  [ТС] 3
Я понял, что дела в erase(), и что скорее всего ему перекрывает доступ void Scan (), но как это решить на практике?
Объясните!
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
19.11.2016, 08:47 4
Да имя у тебя неправильно записано, поэтому "не является членом".
0
3 / 3 / 0
Регистрация: 29.07.2016
Сообщений: 206
19.11.2016, 08:53  [ТС] 5
Я непроходимо туп. Спасибо!!!!
0
19.11.2016, 08:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2016, 08:53
Помогаю со студенческими работами здесь

Удаление одинаковых элементов из линейного списка
Здравствуйте, дали задание нужно создать процедуру которая будет удалять элементы у которых...

Список: Удаление всех подряд идущих одинаковых элементов из списка
Помогите пожалуйста реализовать процедуру удаления всех подряд идущих одинаковых элементов из...

сравнение 2х списков, и удаление повторения в обоих
как сравнить 2 списка и удалить из обоих списков повторения (оставив только те, которые...

Сравнение и удаление одинаковых строк
Сравнить и удалить похожие строки. for I := 0 to Base3.Count-1 do begin if form2.sMemo5.Lines...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru