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

Заполнить map из потока ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с функциями и ошибка "Subscript requires array or pointer type" http://www.cyberforum.ru/cpp-beginners/thread1137634.html
Ребят, такая проблема. вот код #include <iostream> #include <ctime> #include <cmath> using namespace std; int n,i;
C++ Найти подмножество множества Программа должна позволять вводить с клавиатуры множество чисел, и находить подмножество множества. Т.е например если введено множество А(1,2,3) нужно найти подмножество множества А. http://www.cyberforum.ru/cpp-beginners/thread1137633.html
C++ Гаммирование с обратной связью
Не получается реализовать гаммирование с обратной связью. Может быть я не правильно понимаю суть. Помогите, пожалуйста. Вот мой код: for (int i = 0; i < sizeOpenText + 4; i++) { C += (openText << (24 - (i * 8))); } sizeOpenText += 4; for (int i = sizeOpenText; i < sizeOpenText + 4; i++) { D += (openText << (24 - (i * 8)));
Вставить тире между последовательностью чисел C++
Написал программу которая вставляет тире между последовательностью чисел, все вроде бы хорошо, работает, но нашел баг, ввожу числа типа 12456788, а получаю: 1-2,4-8,8 .В чем проблема? Почему 8 повторяется два раза, где тире и как отдельная цифра? Помогите пожалуйста, заранее спасибо!!!:))) #include <iostream> #include <string> using namespace std; int main() { string a;
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread1137624.html
Пункт 1.4 Правил: размещайте задание на русском языке.
C++ Суммировать элементы столбца матрицы #include <iostream>; #include<locale> using namespace std; int mas1 ,m,n,mas2,k,i,j,mas3,mas4,q,mas5,h; int main() { setlocale(LC_ALL,"Rus"); cin>>m; cout<<endl; cin>>n; подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
03.04.2014, 23:18     Заполнить map из потока ввода
Цитата Сообщение от rcyn Посмотреть сообщение
в чем смысл наследования
А иначе зделать пергрузку для pair не получится. Разве что так, но так не хорошо:
Кликните здесь для просмотра всего текста
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
namespace std // вносить в std что свое плохо
{
template <typename T, typename U>
std::ostream& operator<<(std::ostream& os, const std::pair<T, U>& p) {
   return os << p.first << ' ' << p.second;
}
 
template <typename T, typename U>
std::istream& operator>>(std::istream& is, std::pair<T, U>& p) {
   return is >> p.first >> p.second;
}
}
 
int main()
{
   std::map<std::string, int> map;
 
   using pair_t = std::pair<std::string, int>;
   using input = std::istream_iterator<pair_t>;
   using output = std::ostream_iterator<pair_t>;
 
   std::copy(input(std::cin), input(), std::inserter(map, map.begin()));
   std::copy(map.begin(), map.end(), output(std::cout, "\n"));
 
   return 0;
}
Цитата Сообщение от rcyn Посмотреть сообщение
И ещё зачем внутри Pair эта строчка:
using typename std::pair<T, U>::pair;
Делаем доступным в структуре std::pair - иначе не скомпилиться (typename не обязательный, по привычке написал).

Добавлено через 6 минут
Вобщем, для преобразования типов Pair и std::pair
 
Текущее время: 18:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru