Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hektor
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 15
#1

Итератор - C++

14.10.2011, 23:44. Просмотров 731. Ответов 3
Метки нет (Все метки)

Код
#include <iostream>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> a,list<int>::iterator it)
{
	for (it; it != a.end(); it++)
	{
		if (*it == 5)
		{
			break;
		}
	}
	return it;
}
int main ()
{
	list <int> a;
	for (int i = 0; i < 10; i++)
	{
		a.push_back(i);
	}
	list<int>::iterator it = a.begin();
	cout<<*pos(a,it)<<endl;
	return 0;
}
есть простая функция pos которая возвращает и принимает итератор, почему ошибка при выполнении, как правильно передать этот итератор?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2011, 23:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Итератор (C++):

Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка - C++
не могу понять что должно быть результатом. может подскажете примеры? пожалуйста. Задание: Реализовать двусвязный список (list),...

итератор - C++
скажите как в этой задачи перевести десятичное число в двоичное??? вот условие задачи!!! вот код!! main.h #include &lt;cstdlib&gt; ...

Итератор ? - C++
Как выглядит итератор на вложеный контейнер? Например осуществить доступ к 1-му символу 3-го элемента в векторе vector&lt; &lt;vecrot&lt;char&gt; &gt;...

Итератор - C++
Вот задача: Реализовать шаблон упорядоченного массива как двусвязного списка. Операцию доступа по индексу заменить итератором. Вопрос:...

Итератор!!!!! - C++
Есть такое задание: Разработать класс «Итератор», который должен содержать конструктор и функции просмотра текущего элемента, перехода к...

Итератор С++ - C++
помогите пожалуйста написать итератор, накапливающий сумму пройденных элементов!!!

3
alex_x_x
бжни
2454 / 1659 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.10.2011, 23:50 #2
list<int>::iterator& pos (list<int>& a,list<int>::iterator& it)

Добавлено через 1 минуту
в оригинале вы создаете копию списка
передаете копию итератора, с новой копией списка никак не связанного
возвращаете копию копии итератора на копию списка
1
hektor
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 15
14.10.2011, 23:58  [ТС] #3
alex_x_x Спасибо))),понял.
0
kravam
быдлокодер
1705 / 892 / 45
Регистрация: 04.06.2008
Сообщений: 5,524
15.10.2011, 02:42 #4
форматирую наугад
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> *a, list<int>::iterator *it)
{


if (*it== (*a).begin())
printf ("равны!\n");
else
printf ("не равны!\n");

for (it; *it != (*a).end(); (*it)++)
{
if (**it == 5)
{
break;
}
}
return *it;
}
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP (1251);


list <int> a;
for (int i = 0; i < 10; i++)
{
a.push_back(i);
}
list<int>::iterator it = a.begin();
cout<<*pos(&a,&it)<<endl;
getchar ();
return 0;
}
не славы ради но развития для!

#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> &a, list<int>::iterator &it)
{


if (it== a.begin())
printf ("ðàâíû!\n");
else
printf ("íå ðàâíû!\n");

for (it; it != a.end(); it++)
{
if (*it == 5)
{
break;
}
}
return it;
}
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP (1251);


list <int> a;
for (int i = 0; i < 10; i++)
{
a.push_back(i);
}
list<int>::iterator it = a.begin();
cout<<*pos(a,it)<<endl;
getchar ();
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2011, 02:42
Привет! Вот еще темы с ответами:

итератор - C++
Привет всем! подскажите пожалуйста литературу где подробно описана реализация итераторов ...

итератор - C++
Привет. Не получается создать итератор. std::vector&lt;std::list&lt;size_t&gt; &gt; adjacentList; если пишу так ...

Итератор - C++
Добрый день. Я начинающий. Есть проект пытаюсь сделать построение-отладку выдает ошибку типа: Ошибка 1 error C2061: синтаксическая...

Потоковый итератор - C++
Добрый день. Читаю книгу Объектно-ориентированное программирование в С++ Лафоре, там приводится такой код: #include &lt;iostream&gt; ...


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

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

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