Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вычисление функций с использованием их разложения в степенной ряд Помогите пожалуйста исправить прогрограмму (С++) Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях: а) для заданного n; б) для заданной точности е(е=0.0001). Для сравнения найти точное значение функции. вот что получилось #include <iostream> https://www.cyberforum.ru/ cpp-beginners/ thread903494.html C++ Сохранить данные в файл
Сделал такое сохранение, С++ не ругается и вроде должен выводить, но куда этот файл сохраняется? Писал для класса Book Book pers; // создать объект pers.Show(); // получить данные // создать объект ofstream ofstream outfile("PERSON.txt", ios::binary); // записать в файл outfile.write(reinterpret_cast<char*>(&pers), sizeof(pers)); outfile.close(); Добавлено через 9 минут
C++ Работа со строками, поиск, запись https://www.cyberforum.ru/ cpp-beginners/ thread903485.html
Дорогие друзья, пишу программу. При написании возникли проблемы, а точнее столь слабые познания в с++. Имеем .xml файл вида: <Cell><Data ss:Type="String">элемент 1001</Data></Cell> <Cell><Data ss:Type="String">элемент 100111</Data></Cell> <Cell><Data ss:Type="String">элемент 10012</Data></Cell> <Cell><Data ss:Type="String">элемент 1001411</Data></Cell> <Cell><Data...
C++ 1. Написать программу работы с условным оператором if в соответствии с номером своего варианта (Таблица 5.1). 2. Написать программу с использованием о https://www.cyberforum.ru/ cpp-beginners/ thread903473.html
1. Написать программу работы с условным оператором if 2. Написать программу с использованием оператора switch Написать программу вычисления суммы модулей двух введенных чисел Написать программу сравнения введенного числа со значениями 0, 4,8,9 и 30
Вычислить сумму C++
1. Написать программу работы с операторами циклов while и for
C++ Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора https://www.cyberforum.ru/ cpp-beginners/ thread903469.html
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от x1 до x2 c шагом dx (x1, x2, dx задаются пользователем) с точностью ε (также задается пользователем). Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Для решения задания использовать цикл for, который контролирует...
C++ Отсортировать массив по убыванию методом "пузырька Написать программу обработки одномерного динамического массива целых случайных чисел в диапазоне значений -100…100 в соответствии с вариантом задания. Размерность массива задается пользователем. Результаты работы программы вывести на экран. : отсортировать массив по убыванию методом "пузырька https://www.cyberforum.ru/ cpp-beginners/ thread903468.html Написать функцию вычисления площади круга C++
Написать программу, работающую с функциями согласно своему варианту. Функция main должна содержать ввод аргументов функции пользователя, вызов функции, вывод результатов работы функции на экран. Имя функций, а также входные параметры и тип возвращаемого значения определить исходя из функционала. Написать функцию вычисления площади круга Используя перегрузку функций, написать программу...
C++ Вычислить сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент, найти номер первой из строк, не содержащих ни одного по Написать программу работы с двумерным динамическим вещественным массивом. Предусмотреть динамическое распределение памяти под массив перед работой с массивом (использовать оператор new) и удаление массива в конце работы программы (использовать оператор delete). Количество строк N равно количеству столбцов, т.е. массив представляет собой квадратную матрицу. N задается пользователем. Массив... https://www.cyberforum.ru/ cpp-beginners/ thread903464.html C++ В строку вводится 5,2,8 нужно чтобы все 3 числа попали в массив или разные переменные https://www.cyberforum.ru/ cpp-beginners/ thread903461.html
Здравствуйте. В строку вводится 5,2,8 нужно чтобы все 3 числа попали в массив или разные переменные. Например: а=5,в=2,с=8 для дальнейших манипуляций (сравнение). Числа могут быть отрицательные, двузначные, разделяются запятыми. Эта часть кода не получается. Заранее всем спасибо.
C++ Вычислить
Аргумент х изменяется от начального значения 5.2 до конечного значения 8.3 с шагом 0.75. Вектор В состоит из 8 элементов (положительные действительные числа). Вычислить: f=x+\sum_{i=1}^{8}{ln}^{2}({b}_{i}x+3.1)
C++ Проверить код Предоставляемые целые числа с1, ... с9. Есть ли в этой последовательности три подряд стоящих нулевых элементов. Если есть, то напечатать их номера, если нет, то вычислить сумму элементов в последовательности. #include <iostream> using namespace std; void main() { const int n=9;
12 / 10 / 12
Регистрация: 23.12.2012
Сообщений: 51
0

Собственный класс итератора - C++ - Ответ 4729130

16.06.2013, 16:38. Показов 1345. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Пишу сейчас одну библиотеку (не использующею STL и другие библиотеки) и для контейнеров решил написать класс итератора:
Кликните здесь для просмотра всего текста

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/// Представляет поэлементный доступ к элементам коллекции
/// @param T - тип элементов коллекции
template<typename T>
class Iterator {
public:
    typedef T* pointer;          //!< Указатель на значение
    typedef T reference;         //!< Ccылка на значение
    typedef T value_type;        //!< Предопределенный тип для T
    typedef matx::size_t dist_t; //!< Тип для представления расстояния между итераторами
 
    Iterator();        //!< Конструктор по умолчанию
    Iterator(pointer); //!< Конструктор с параметром
    Iterator(const Iterator&); //!< Конструктор копий
 
    Iterator& operator = (const Iterator &);        //!< Оператор присваивания
 
    bool      operator == (const Iterator &) const; //!< Оператор сравнения
    bool      operator != (const Iterator &) const; //!< Оператор не-сравнения
 
    reference operator *  () const; //!< Разыменование итератора
    pointer   operator -> () const; //!< Косвенное обращение
    /// @bug only prefix
    Iterator& operator ++ ();    //!< prefix-incerment
    //Iterator& operator ++ (int); //!< postfix-incerment
    Iterator& operator -- ();    //!< prefix-decerment
    //Iterator& operator -- (int); //!< postfix-decerment
 
    Iterator  operator +  (const dist_t) const; //!< Плюс число
    Iterator  operator -  (const dist_t) const; //!< Минус число
    dist_t    operator -  (const Iterator&) const; //!< Расстояние до другого указателя
 
    bool      operator <  (const Iterator&) const; //!< bool, если этот указатель имеет адрес меньше чем второй
    bool      operator <= (const Iterator&) const; //!< bool, если этот указатель имеет адрес меньше чем второй, или они равны
    bool      operator >  (const Iterator&) const; //!< bool, если этот указатель имеет адрес больше чем второй
    bool      operator >= (const Iterator&) const; //!< bool, если этот указатель имеет адрес больше чем второй, или они равны
 
    Iterator& operator += (const dist_t); //!< Увеличить адрес текущего вектора
    Iterator& operator -= (const dist_t); //!< Уменьшить адрес текущего вектора
 
    reference operator [] (const dist_t) const; //!< Поэлементный доступ
protected:
    pointer ptr;       //!< C-like указатель
};
 
template<typename T>
Iterator<T>::Iterator() {
    ptr = 0;
}
 
template<typename T>
Iterator<T>::Iterator(pointer ptrToElement) {
    ptr = ptrToElement;
}
 
template<typename T>
Iterator<T>::Iterator(const Iterator<T> &it) {
    ptr = it.ptr;
}
 
template<typename T>
Iterator<T>& Iterator<T>::operator = (const Iterator<T> &it) {
    ptr = it.ptr;
    return *this;
}
 
template<typename T>
bool Iterator<T>::operator == (const Iterator<T> &it) const {
    return (ptr == it.ptr);
}
 
template<typename T>
bool Iterator<T>::operator != (const Iterator<T> &it) const {
    return not(ptr == it.ptr);
}
 
template<typename T>
typename Iterator<T>::reference Iterator<T>::operator * () const {
    return *ptr;
}
 
template<typename T>
typename Iterator<T>::pointer Iterator<T>::operator -> () const {
    return &*ptr;
}
 
template<typename T>
Iterator<T>& Iterator<T>::operator ++ () {
    Iterator tmp(*this);
    ptr++;
    return *this;
}
 
//template<typename T>
//Iterator<T>& Iterator<T>::operator ++ (int) {
//  ptr++;
//  return *this;
//}
 
template<typename T>
Iterator<T>& Iterator<T>::operator -- () {
    ptr--;
    return *this;
}
 
//template<typename T>
//Iterator<T>& Iterator<T>::operator -- (int) {
//  ptr--;
//  return *this;
//}
 
template<typename T>
Iterator<T> Iterator<T>::operator + (const dist_t n) const {
    return Iterator<T>(ptr + n);
}
 
template<typename T>
Iterator<T> Iterator<T>::operator - (const dist_t n) const {
    return Iterator<T>(ptr - n);
}
 
template<typename T>
typename Iterator<T>::dist_t Iterator<T>::operator - (const Iterator<T> &it) const {
    return ptr - it.ptr;
}
 
template<typename T>
bool Iterator<T>::operator < (const Iterator<T> &it) const {
    return (ptr < it.ptr);
}
 
template<typename T>
bool Iterator<T>::operator <= (const Iterator<T> &it) const {
    return (ptr < it.ptr) or (ptr == it.ptr);
}
 
 
template<typename T>
bool Iterator<T>::operator > (const Iterator<T> &it) const {
    return (ptr > it.ptr);
}
 
template<typename T>
bool Iterator<T>::operator >= (const Iterator<T> &it) const {
    return (ptr > it.ptr) or (ptr == it.ptr);
}
 
template<typename T>
Iterator<T>& Iterator<T>::operator += (const dist_t n) {
    ptr += n;
    return *this;
}
 
template<typename T>
Iterator<T>& Iterator<T>::operator -= (const dist_t n) {
    ptr -= n;
    return *this;
}
 
template<typename T>
typename Iterator<T>::reference Iterator<T>::operator [] (const dist_t index) const {
    return *(ptr + index);
}


Все вроде более менее работает, вот только ошибка в такой конструкции:
C++
1
2
3
4
// Написано для примера так я его использовать точно не буду :)
int array[10];
Iterator<int> i = array;
*i = 10;
выскакивает "ошибка: lvalue required as left operand of assignment", компилятор GCC.

Вернуться к обсуждению:
Собственный класс итератора C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2013, 16:38
Готовые ответы и решения:

Класс контейнера и итератора
Товарищи программисты. Помогите выяснить что должен делать в данной задаче итератор. Реализовать...

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

STL и собственный класс
Подскажите, пожалуйста, как можно переопределить функцию STL для собственного класса. Например,...

Собственный класс String
Решила написать свой клас String. Но на в некоторых местах выдает ошибки. И мне кажеться что я ...

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

Собственный класс String
Добрый день. Нужно реализовать класс String со следующими функциями: String(); String(const char...

Собственный класс-итератор
Создаю класс-итератор для класса Студенты. Сам класс студенты: #ifndef STUDENTS_H #define...

Реализуйте собственный класс строки
Задание: Строка Реализуйте собственный класс строки для использования в языке C++. Класс...

Map и собственный класс: GCC ругается
Что я делаю не так? Мэйн: int main() { string s = &quot;abc&quot;; map&lt;string, ConfigSection&gt;...

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