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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Посчитать количество элементов в одномерном массиве http://www.cyberforum.ru/cpp-beginners/thread991300.html
Помогите решить задачу . Посчитать сколько элементов в одномерном массиве, состоящих из четырех или меньше символов. Вывести количество элементов.
C++ Не работает вывод кириллицей Не знаю как сделать что бы выводилось русскими буквами! Кто знает помогите http://www.cyberforum.ru/cpp-beginners/thread991284.html
C++ Вычислить значение выражения
Пожалуйста, весь код.
Класс для работы с текстовыми файлами С++ C++
Создать иерархию с 2 классов, с 2 конструкторами для работы с текстовым файлом. Нужно наполнить файл, посчитать количество строк, вывести, удалить, вставить строки на заданную позицию. Есть вот такие наброски: #include <stdlib.h> #include <string.h> #include <stdio.h> #include <conio.h> class CRadkyB { FILE *f;
C++ Считать строку в Visual C++ http://www.cyberforum.ru/cpp-beginners/thread991187.html
#include "stdafx.h" #include <iostream> #include <string> #include <stdio.h> #include <conio.h> #include "cstring" #include "clocale" using namespace std; struct student
C++ Ребята! Пожалуйста, объясните что делает данная программа? #include "stdafx.h" #include<fstream> #include "defs.h" #define S 0 #define B 7 #define PLUS 1.5 #define MINUS 0.5 using namespace std; int func1(int); int func2(int); подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7934 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
29.10.2013, 13:27     map - заполнение и удаление
Как вариант +- как-то так

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
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <ctime>
 
int main()
{
   const size_t iterations = 10;
   const size_t max = 20;
   srand(time(0));
   std::map<int, int> values;
   std::vector<int> vec;
   for (size_t i = 0; i < iterations; ++i)
   {
      auto pos = values.insert(std::make_pair(rand() % max, rand() % max));
      if (!pos.second)
      {
         --i;
         continue;
      }
      vec.push_back(rand() % max);
   }
   std::cout << "map keys: ";
   std::for_each(values.begin(), values.end(), [](const std::pair<int, int>& p)
   {
      std::cout << p.first << " ";
   });
   std::cout << std::endl;
   std::cout << "vector: ";
   std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
   std::vector<int> original(vec);
   vec.erase(std::remove_if(vec.begin(), vec.end(), [&values](int v)
   {
      return values.find(v) == values.end();
   }), vec.end());
   for (std::map<int, int>::const_iterator pos = values.begin(); pos != values.end();)
   {
      if (std::find(original.begin(), original.end(), pos->first) == original.end())
      {
         pos = values.erase(pos);
      }
      else
      {
         ++pos;
      }
   }
   std::cout << "map keys: ";
   std::for_each(values.begin(), values.end(), [](const std::pair<int, int>& p)
   {
      std::cout << p.first << " ";
   });
   std::cout << std::endl;
   std::cout << "vector: ";
   std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
}
 
Текущее время: 07:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru