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

Как перегрузить операторы >> и << для структуры чтоб работалы итераторы? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод из string^ в char http://www.cyberforum.ru/cpp-beginners/thread742763.html
как это можно сделать? System::String^ numbron3= textBox11->Text; const char* str_ptr = numbron3.c_str(); Добавлено через 9 минут вываливается ошибка error C2228: выражение слева от ".c_str" должно представлять класс, структуру или объединение
C++ Бинарное дерево. Мне нужно нерекурсивно удалить вершину с заданным значением ключа из бинарного дерева поиска. Здравствуйте! Мне нужно нерекурсивно удалить вершину с заданным значением ключа из бинарного дерева поиска. Я набросал алгоритм удаления, только рекурсивный. Напишите пожалуйста как избавиться от рекурсии. Node* ReturnMaxLeft(Node* n) { if(!n) return NULL; Node* tmp=n; while(tmp->left) tmp=tmp->left; return tmp; http://www.cyberforum.ru/cpp-beginners/thread742762.html
программа находит самое короткое слово в строке, как сделать, что бы она находила пять самых коротких слов в строке! Спасибо) C++
Здравствуйте! Подскажите пожалуйста! В данном отрывке программа находит самое короткое слово в строке, как сделать, что бы она находила пять самых коротких слов в строке! Спасибо) { int min = 100, count = 0, m = 0; int len = strlen(s); char st; char st2; for (int i = 0; i < len; ++i) { if (s != ' ')
Создать шаблон функции, осуществляющей сортировку данных массива C++
Создать шаблон функции, осуществляющей сортировку данных массива. Аргументами функции должны быть имя и размер массива. Продемонстрировать работу шаблона на данных различных типов, в том числе, на данных вновь созданного класса – вектор в пространстве с координатами х, у, z, определив для него операции сравнения. Умоляю, помогите написать.
C++ Даже не знаю как ее написать? (Сформировать массив по формуле, вычислить, реорганизовать) http://www.cyberforum.ru/cpp-beginners/thread742742.html
Суть в том, что у нас с начало идет 1 лаб/р: I. Ввести массив А II. Сформировать массив B по формуле: B, где B=sin(i+j) III. Вычислить массив C=A+B и вывести IV. Реорганизовать массив C так, чтобы max элемент в каждом столбце поменялся с первым элементом столбца. Вот что получилось #include <stdio.h> #include <conio.h> #include <math.h>
C++ Проверка по критерию Здравствуйте, помогите составить условие для проверки. Нужно чтобы выводилась любая страна из списка Countries, и что бы был ввод столицы (capital). Если введенная столица верна = программа выводила предупреждение "Ошибка". Если все правильно, то проверка пойдет дальше. #include <conio.h> #include <iostream> using namespace std; int Capitals(){ string mexico = "Мехико"; string... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
23.12.2012, 09:55     Как перегрузить операторы >> и << для структуры чтоб работалы итераторы?
Не совсем понял, что нужно. Что-то вроде этого?
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
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <string>
 
 
std::size_t const MAX_TYPE_COUNT = 5;
 
struct Type {
    int a[MAX_TYPE_COUNT];
};
 
std::istream & operator >>(std::istream & istream, Type & type) {
   std::copy(
         std::istream_iterator<int>(istream)
       , std::istream_iterator<int>()
       , type.a);
   return istream;
}
 
std::ostream & operator <<(std::ostream & ostream, Type const& type) {
   std::copy(
         type.a
       , type.a + MAX_TYPE_COUNT
       , std::ostream_iterator<int>(ostream, " "));
   return ostream;
}
 
 
std::vector<Type> read(std::istream & istream) {
   std::vector<Type> result;
   std::string line;
   while (std::getline(istream, line)) {
      std::istringstream iss(line);
      Type type;
      iss >> type;
      result.push_back(type);
   }
   return result;
}
 
 
int main() {
   auto result = read(std::cin);
   for (auto const& v : result) {
      std::cout << v << std::endl;
   }
}
http://liveworkspace.org/code/18hg8Z
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru