Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
dimakozyr
158 / 25 / 3
Регистрация: 17.08.2013
Сообщений: 481
1

map - заполнение и удаление

29.10.2013, 10:40. Просмотров 5586. Ответов 43
Метки нет (Все метки)

Хочу проинициализировать map случайными числами и вывести на экран.
Скажите, в чем ошибка?

Объявление:
C++
1
2
std::map <int, int> myMap;
std::map <int, int> :: iterator it = myMap.begin();
Инициализация случайными числами (подчеркивает красным "="):
C++
1
2
while (it != myMap.end())
    myMap.begin() = generateRandomNumber();
Вывод на экран (подчеркивает красным "["):
C++
1
2
for (myMap.begin(); it != myMap.end(); it++)
    std::cout << myMap[it] << " ";
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2013, 10:40
Ответы с готовыми решениями:

Заполнение map
Будьте добры, подскажите. Из базы данных считываютя данные (строка и несколько значений)....

Map: заполнение, поиск
Первый раз работаю с map. Нужно заполнить с клавиатуры циклом вот такой мап: map &lt;pair &lt;int, int&gt;,...

Заполнение map из файла
Народ помогите, как заполнить контейнер map из файла? Файл представлен данными по типу: 5671234...

Заполнение map объектами класса
Здравствуйте! Нашел пример заполнения map таким образом: map&lt;string, int&gt; M; M = 1; Но при...

Заполнение контейнера map объектами класса
Здравствуйте! Помогите разобраться с map. Не получается заполнить контейнер объектами класса....

43
dimakozyr
158 / 25 / 3
Регистрация: 17.08.2013
Сообщений: 481
29.10.2013, 22:29  [ТС] 41
Решил представить решение из 22 поста в классе,
но почему-то возникает ошибка:
Член "ContainerProcessing::myMap" не является переменной

// *.h
C++
1
2
3
4
class ContainerProcessing {
  private:
      static map<int, int> myMap;
};
// *.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int ContainerProcessing::synchronizeContainers() {
    vector<int> original(myVector);
 
    myVector.erase(remove_if(myVector.begin(),
                             myVector.end(),
                             [&myMap](int v)  // Error: +2 перегрузок
        // Член "ContainerProcessing::myMap" не является переменной
        { return myMap.find(v) == myMap.end(); }), myVector.end());
    
    for(map<int, int>::const_iterator pos = myMap.begin();
        pos != myMap.end();) {
        if(find(original.begin(),
                original.end(),
                pos -> first) == original.end())
            pos = myMap.erase(pos);
        else
            ++pos;
    }
}
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8134 / 4985 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
29.10.2013, 23:06 42
Цитата Сообщение от Tulosba Посмотреть сообщение
таких последовательностей будет 12!/(12-10)!
если порядок не важен (map и так и так отсортирует же)
Код
1 2 3 4 5 6 7 8 9 10 11
0 2 3 4 5 6 7 8 9 10 11
0 1 3 4 5 6 7 8 9 10 11
0 1 2 4 5 6 7 8 9 10 11
0 1 2 3 5 6 7 8 9 10 11
0 1 2 3 4 6 7 8 9 10 11
0 1 2 3 4 5 7 8 9 10 11
0 1 2 3 4 5 6 8 9 10 11
0 1 2 3 4 5 6 7 9 10 11
0 1 2 3 4 5 6 7 8 10 11
0 1 2 3 4 5 6 7 8 9 11
0 1 2 3 4 5 6 7 8 9 10
тут ответ такой: сколькими способами можно не взять одну различную цифру. Ответ 12, ошибся на 1

Добавлено через 4 минуты
При random_shuffle последовательность после сортировки заранее известна, тут же она случайна.
0
kamre
30.10.2013, 02:23
  #43

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Это дело привычки, для меня вполне естественно видеть полное имя функции.
Почему тогда не ::std::?

0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8134 / 4985 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
30.10.2013, 02:41 44
Цитата Сообщение от kamre Посмотреть сообщение
Почему тогда не ::std::?

Не по теме:

Потому что гладиолус. Надо отличать механизм от маразма.

0
30.10.2013, 02:41
30.10.2013, 02:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 02:41

Чтение из файла и заполнение контейнера map
Есть такое задание: дан файл,в котором записаны имена студентов.Напротив каждого имени - их...

Заполнение map символами и количеством их встреч в файле
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;fstream&gt; #include &lt;vector&gt; using namespace std;...

Заполнение контейнера map из файла без цикла
В общем, вопрос следущий. Интересует, возможно ли инициализировать контейнер map, данными из файла,...


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

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

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