0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 2
1

C++ ругается на итераторы

11.12.2018, 14:29. Показов 740. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
using namespace std;
struct LastElementLess {
    bool operator()(const std::multiset<int> &first, const std::multiset<int> &second) const {
        if (second.empty()) {
            return false;
        }
 
        if (first.empty()) {
            return true;
        }
 
        return *first.rbegin() < *second.rbegin();
    }
};
int fasti() {
    char c = ' '; int a = 0;
    while (!isdigit(c)) c = _getchar_nolock();
    while (isdigit(c)) {
        a = a * 10 + c - '0';
        c = _getchar_nolock();
    }
    return a;
}
int main() {
    int n, m, l, r, q, k, s, ans, pr;
    cin >> n >> m >> q >> k;
    vector<vector<int>> a(n, vector<int>(m));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++)
            a[i][j] = fasti();
    }
    multiset< multiset <int>, LastElementLess > g;
    for (int i = 0; i < n; i++) {
        multiset<int> pr1;
        for (int j = 0; j < m; j++) {
            pr1.insert(a[i][j]);
        }
        g.insert(pr1);
    }
    for (int i = 0; i < m; i++) {
        multiset<int> pr1;
        for (int j = 0; j < n; j++) {
            pr1.insert(a[j][i]);
        }
        g.insert(pr1);
    }
    /*for (auto rl : g) {
        for (auto el : rl) {
            cout << el << ' ';
        }
        cout << '\n';
    }*/
    for (int i = 0; i < q; i++) {
        l = fasti(); r = fasti(); l--; r--;
        s = a[l][r];
        for (auto el = g.begin(); el != g.end(); el++) {
            auto it = (*el).find(s);
            if (it != (*el).end()) {
                if ((*el).size() == 1)
                    (*el).insert(0); // тут
                (*el).erase(it); // и тут ошибка
                break;
            }
        }
        auto it = g.begin();
        auto it1 = (*it).end();
        it1--;
        cout << *it1 << '\n';
    }
}
// Не подскажете как исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2018, 14:29
Ответы с готовыми решениями:

Ругается компилятор (итераторы)
Мужики в чем дело компилятор ругается C2451 #include &lt;iostream&gt; #include &lt;string&gt; #include...

C++: итераторы по умолчанию, пустые итераторы, end()
Всем добра! Вопрос на тему итераторов в плюсах: 1. какие значения имеют итераторы без...

Итераторы и обратные итераторы
У вектора есть два типа итераторов, обычные и обратные итераторы произвольного доступа... Обычные...

Почему vk ругается на бесплатные хостинги? На какие не ругается?
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный...

2
7639 / 6447 / 2940
Регистрация: 14.04.2014
Сообщений: 28,110
11.12.2018, 14:36 2
Текст ошибки.
0
0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 2
11.12.2018, 14:39  [ТС] 3
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2663 std::_Tree<std::_Tset_traits<_Kty,_Pr,_Alloc,true>>::erase: для 3 перегрузок нет допустимого преобразования для указателя "this" acm c:\users\1\source\repos\acm\acm\acm.cpp 66

Добавлено через 1 минуту
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E1087 отсутствуют экземпляры перегруженная функция "std::multiset<_Kty, _Pr, _Alloc>::erase [с _Kty=int, _Pr=std::less<int>, _Alloc=std::allocator<int>]", соответствующие списку аргументов и объекту (объект содержит несоответствующие квалификаторы типа) acm C:\Users\1\source\repos\acm\acm\acm.cpp 66
0
11.12.2018, 14:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2018, 14:39
Помогаю со студенческими работами здесь

Итераторы в C++
Помогите плз решить 2 задачи Задача 1 Напишите программу, использующую итераторы при чтении...

Итераторы
Не могу въехать как работают итераторы, литература-форумы не помогли, увы. На 26й строке то, что...

Итераторы
Всем добрый вечер! Есть небольшие затруднения , вот например фрагмент кода: //... ...

Qt Итераторы
Всем добрый день. Пишу код QVector&lt;*some class&gt; i; QVector&lt;*some class&gt;::iterator...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru