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

Как вывести номер итератора в стандартный поток cout - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача: Отгадать цифру, проверить на честность http://www.cyberforum.ru/cpp-beginners/thread648926.html
Описание Tom и Jerry играют в игру на отгадку чисел, Tom загадывает число, а Jerry отгадывает. Область цифр в пределах от 1 до 10. Jerry называет число, а Tom отвечает too high или too low или right on, на right on игра заканчивается. Чтобы не допустить чтобы Tom обманывал, Jerry записывает цифры и ответы Tom-а. Определите, обманывал Tom, или играл по правилам. Input
C++ Стек Здравствуйте,помогите найти понятную реализую кода стека с объяснениями.заранее благодарю Добавлено через 27 секунд Не STL http://www.cyberforum.ru/cpp-beginners/thread648922.html
C++ Функция вычисления корней квадратного уравнения
Почему то корни не выводит...что не так? #include "iostream" #include "conio.h" #include "math.h" using namespace std; void root(float a,float b,float c,float &x1,float &x2) { float D=b*b-4*a*c;
C++ Вычислить с заданной точностью значение функции
вот такая задачка..
C++ Ошибка в организации класса http://www.cyberforum.ru/cpp-beginners/thread648907.html
Мои первые попытки написать консольную версию пошагового боя обвенчались неудачей в самом начале. При тестовых ударах в цикле for увидел что очки жизней персонажа не уменьшаются, тк кк задумывалось. Начинаю подозревать что нужно использовать указатели, но это тоже не обвенчалось успехом, посоветуйте пожалуйста что нужно сделать чтобы из класса P2 переменная hp начала уменьшаться а не обнулялась...
C++ Описать функцию, которая формирует список Common В составе программы описать функцию, которая формирует список Common, включив в него элементы, которые входят одновременно в список М1 и М2. Помогите пожалуйста, ибо идей вообще нет, как это сделать... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
09.09.2012, 15:39     Как вывести номер итератора в стандартный поток cout
C++
1
iter2=iter2-iter; /*вот здесь вот он ругается*/
Оператор - для итераторов вернет iterator::difference_type.

In the following sections, a and b denote values of type X or const X, difference_type and reference refer
to the types iterator_traits<X>::difference_type and iterator_traits<X>::reference, respectively,
n denotes a value of difference_type, u, tmp, and m denote identifiers, r denotes a value of X&, t denotes
a value of value type T, o denotes a value of some type that is writable to the output iterator. [ Note: For
an iterator type X there must be an instantiation of iterator_traits<X> (24.4.1). —end note ]
(operation)b - a (returns)difference-type

return n pre: there exists a value n of type difference_type suchthat a + n == b. b == a + (b - a).
Собственно достаточно использовать distance + advance. Ну или +=.

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
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
int main(){
    using std::cout;
    using std::cin;
    using std::endl;
    using std::string;
    using std::vector;
    int val;
    vector<int> vec;
    while(cin>>val)vec.push_back(val);
    vector<int>::iterator iter2=vec.end();
    vector<int>::iterator iter;
    for(iter=vec.begin();iter<iter2;++iter){
        vector<int>::iterator::difference_type diff = std::distance(iter, iter2);
        std::advance(iter2, diff);
        val=*iter+*iter2;
        cout<<"Sum of vec["<<std::distance(vec.begin(),iter)<<"] and vec["<<std::distance(vec.begin(),iter2)<<"] is "<<val<<endl;
        iter2 = vec.begin();
        }
        if(iter==iter2) cout<<"vec["<<std::distance(vec.begin(),iter)<<"] no pair. Hi's value "<<*iter<<endl;
    return 0;
    }
 
Текущее время: 06:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru