Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти точку на окружности Здравствуйте. Подскажите, пожалуйста. По написанной программе надо найти точку, лежащую на окружности. Было задание :Составить программу по обработке одномерного массива согласно условию: В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке х1,у1,х2,у2,х3,у3 и т.д. Определить кольцо с центром в начале координат,... https://www.cyberforum.ru/ cpp-beginners/ thread207660.html Вывести элементы двумерного массива в виде таблицы C++
Знаю как это сделать на Delphi7,paskale!А как на C#
C++ Как включить vector? https://www.cyberforum.ru/ cpp-beginners/ thread207649.html
Собственно как в VS 2010 подключить и объявить vector? #include <vector> void main() { vector <int> test; .... } пишет идентификатор "vector" не определен.
C++ Односвязный список Доброго времени суток. Помогите, пожалуйста, решить задачу: Реализовать односвязный список, с возможностью его разворота в обратную сторону(первый стал последним, а последний первым). никак не разберусь со списками =\ вообще, беда.. https://www.cyberforum.ru/ cpp-beginners/ thread207642.html
C++ Считалка
Формулировка. "Считалка". M человек встали в круг и, начиная с первого, считаются. Выходит каждый K-ый человек. Напишите программу, определяющую все номера людей в порядке их выбывания из круга, также напечатайте состояние «круга» после выбывания человека. Для моделирования «круга» используйте одномерный массив A(M), в котором хранятся номера людей и который постепенно сжимается. Формат...
C++ Рефлизация циклических действий https://www.cyberforum.ru/ cpp-beginners/ thread207629.html
Формулировка. В массиве A(M) найдите максимальное подмножество последовательных чисел, составленное из соседних элементов массива. Тест. -7; 1; 3; 4; -2; 2; 5; 6. Результат. 3; 4 и 5; 6. Формат входных данных. и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое число в диапазоне . Формат выходных данных. другой элемент массива A, входящий в первое подмножество] и...
C++ Вычислить значение выражения 4 W=5(M+O2)-(3L+4K)*N/2, где https://www.cyberforum.ru/ cpp-beginners/ thread207628.html Вэб.Камера C++
Доброго времени суток. Задали курсовую работу по С++, задача такая: написать программу которая через Bluetooth будет определять мой моб.телефон как вэб.камеру, ну и соотв. все должно работать как обычная вэбка. Телефон nikia n70 на 8 Simbian'e. Прошу скинуть сайты с исходниками или саму програму.
C++ пятый цикл в четырех + sqrt https://www.cyberforum.ru/ cpp-beginners/ thread207623.html
есть код for(i=1;i<=20;i++) { for(j=1;j<=20;j++) if(pole==1) { for(x=1;x<=20;x++) { for(y=1;y<=20;y++) if(pole==2)
C++ Вычислить и вывести на экран в виде таблицы https://www.cyberforum.ru/ cpp-beginners/ thread207619.html
Ребята! без вашей помощи капец! 10 января сессия! Вычислить и вывести на экран в виде таблицы знач. функции F на интервале отХнач до Хкон с шагом dX F= ax2+bx+c при a<0 b c не равно 0; -a/x-c при а>0 и c=0; a(x+c) в остальных случаях (Уравнения обьединенные в систему). где a,b,c,- действительные числа. Функция F должна принимать действительное значение, если выражение Ац И (Вц ИЛИ Сц) не...
C++ С++... сортировка по модулю.
В одномерном массиве, состоящим из n вещественных элементов вычислить 1)Номер минимального элемента массива 2)Сумму элементов массива расположенных между первым и вторым отрицательным элементами массива. Преобразовать массив таким образом что бы сначала располагались все элементы модуль которых не превышает 1, а потом – все остальные. #include <iostream> #include <cmath> using namespace...
C++ Лаба https://www.cyberforum.ru/ cpp-beginners/ thread207605.html
Помогите написать программу на С, задание следующее: Подсчитать количество слов, которые являются числами в римской системе счисления.:) при вводимой строке символов
146 / 27 / 13
Регистрация: 21.09.2015
Сообщений: 62
26.09.2017, 21:19 0

Итератор для своего контейнерного класса-списка - C++ - Ответ 10782300

26.09.2017, 21:19. Показов 10686. Ответов 9
Метки (Все метки)

Ответ

Вы написали такой цикл:
C++
1
2
3
4
 
for (List<int>::scanner it=list.begin(); it!=list.end(); it++) {
                cout << *it << " ";
        }
Прошу заметить, что при таком подходе последний элемент списка не выведется, поскольку ваша реализация метода end(), такова:

C++
1
2
3
4
scanner end(){
            scanner e(last); 
            return e;
        }
Он вернет последний элемент списка, и когда итератор в цикле будет равен ему(посл. элементу) цикл завершиться, так и не выведя последний элемент.

Для решения ситуации можно поступить так(если nullptr у Вас "конечный" указатель в списке):

C++
1
scanner end(){return nullptr;}
Или завести какую то константу "конец" и ссылаться на нее вместо nullptr.

Поправьте меня, если я не прав.
В том же std::vector метод end() возвращает указатель на некий специальный "закрывающий" элемент(формально) но никак не на последний.

Не по теме:

Тема старая, но ошибка есть ошибка



Вернуться к обсуждению:
Итератор для своего контейнерного класса-списка C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2017, 21:19
Готовые ответы и решения:

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

Конструктор для контейнерного класса
Такой код: #include &lt;iostream&gt; #include &lt;string&gt; #include &quot;stdlib.h&quot; #include &quot;stdio.h&quot;...

Свой итератор для своего шаблона
Доброго дня всем. Долго разбираюсь, никак не разберусь. Написал свой шаблонный класс. Написал к...

Создание своего Event для своего класса
как создать событие для своего класса? У C# нужно создать свое делегат, потом создать экземпляр...

9
26.09.2017, 21:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2017, 21:19
Помогаю со студенческими работами здесь

ООП. Создание списка из своего класса
Задача - Создать список из готового класса. Примерный код класса: public class mFiles { ...

Итератор для списка
#include &lt;iostream&gt; using namespace std; template &lt;class T&gt; class Link { public: T value;...

Итератор для класса
Здравствуйте! Имеется определенный класс HashMap, необходимо определить для него...

Создать итератор для списка
:- //ListNode.h #ifndef LISTNODE_H #define LISTNODE_H template &lt;typename NODETYPE&gt; class List;...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru