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

работа с контейнерами. вопросы по программе. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти минимальный и максимальный элементы контейнера и поменять их местами. http://www.cyberforum.ru/cpp-beginners/thread384838.html
вот собственно и задача Найти минимальный и максимальный элементы контейнера и поменять их местами.
C++ Выводить на экран вводимые символы до тех пор, пока не введен символ <*> Напишите программу, которая будет выводить на экран вводимые символы до тех пор, пока не введен символ <*>. Доработайте программу таким образом, чтобы она еще и показывала количество введенных символов. Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п. Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублир http://www.cyberforum.ru/cpp-beginners/thread384835.html
Проблема с постановкой алгоритма C++
Проблема в том, что я недавно начал изучать C/C++ и попалась мне задачка, программировать у меня получается вроде нормально, а вот алгоритмы придумывать не умею. Помогите, пожалуйста, помочь построить алгоритм к этой программе. Буду очень признателен.)) Приближалась весна и подготовка к ней была в полном разгаре: Шарик продолжал эксперименты по выпиливанию нестандартных шахматных досок,...
C++ некорректное задание
Народ, всем привет! прошу помочь/подсказать, есть задание: Класс "Вектор из элементов типа double" (DVector) состоит из следующих данных: - указатель на тип double; - размерность вектора. Определить операции и функции, необходимые для следующих вычислений. Прописные буквы в формулах означают векторы, строчные простые переменные, а строчные с нижним индексом - элементы вектора. а...
C++ Как добавить новой динамической памяти к уже выделенной http://www.cyberforum.ru/cpp-beginners/thread384810.html
Добрый вечер! У меня есть следующий вопрос: Допустим я выделил для некоторой строки память char *p; p = new char ; Поработал какое-то время с этими 10 символами, понадобилось расширить область до 15 символов (что бы при этом за p сразу следовали новые добавленные элементы p, p, ...) Подскажите пожалуйста, как мне это сделать?
C++ одномерный массив Дан массив вещественных случайных чисел (размер массива определяет пользователь, но в диапазоне ). Указать индексы всех отрицательных чисел. При этом необходимо всё разбить на функции. #include <iostream> #include <conio.h> #include <stdio.h> #include <math.h> #include <cstdlib> int indeks(int x) { do{ подробнее

Показать сообщение отдельно
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
15.11.2011, 23:54     работа с контейнерами. вопросы по программе.
1/3 вопросов:
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
template < class Object > // Object - имя фиктивного типа который будет заменяться на любой переданный тип (int и тд)
class vector 
{
public:
        explicit vector(int initSize = 0): theSize(initSize), theCapacity(initSize) // explicit нужно писать чтобы не было неявного приведения типов когда ето не нужно. долго расписывать. theSize(initSize), theCapacity(initSize) - инициализация членов theSize и theCapacity переменными initSize и initSize.
        {objects = new Object[theCapacity];}// выделяем память под theCapacity объектов типа Object
        vector(const vector &rhs):(NULL) // двоеточие - инициализация некоторых данных с помощью списка инициализации . const vector &rhs - & - значит по ссылке для скорость. конст - значит нельзя изменять.  это конструктор копирования. 
        {operator = (rhs);}// не ясно что хотел препод.
        ~vector()
        {delete [] objects;}
bool empty( ) const  // это функция ? - да.
      { return size( ) == 0; }
Object  &  operator [] (int index) // функция - оператор.
{
        #ifndef NO_CHECK // директива проверки выхода из области вектора? - можно сказать да.
        if( index < 0 || index >= size())
                throw ArrayIndexOutOfBoundException();// trow - устанавливает тип выбрасываемых исключений? - нет. просто выбрасывает исключение.
        #endif
        return objects[index];
}
        const vector & operator = ( const vector &rhs);//перегрузка =? - да. токо не ясно зачем возвращать Константу.
        void resize (int newSize); // ф-я изменения размера вектора(меняет на newSize)
        void  reserve(int newCapacity); // изменяет вместимость вектора
        void  push_back(const Object &x);// вставка в конец
        int size()const{return theSize;}// размер вектора? почему сonst? конст после списка параметров значит что функция не может менять никакие поля. кроме объявленных как mutable.
        int capacity()const{ return theCapacity;}// тот же вопрос. при чем тут const. - см выше.
    const Object & back( ) const;//что это . - возвращаем последний объект в списке объектов. неясно почему конст.
        void pop_back( );// удаление с конца
        private:
                int theSize;
                int theCapacity;
                Object * objects;// что это? - собственно сами внутренние данные.
 
};
template <class Object>
const vector<Object>&// зачем & ? это же ,bn равный нулю? - & значит возврат по ссылке. (можно изменить)
vector<Object>::operator =(const vector<Object>&rhs)
{
        if(this != & rhs)// ? - проверка на присваивание самому себе
        
                {
                        delete [] objects; // что мы удаляем? - те самые данные под которые память выделяли в конструкторе.
                        theSize = rhs.size();// новый размер
                        theCapacity = rhs.capacity();//новая вместимость
                        object = new Object[capacity()];// новый  вектор
                        for( int k = 0; k < size();k++)// заполняем вектор? - копируем из rhs в *this данные
                                objects[k]=rhs.objects[k];
                }
                return *this;// что мы возвращаем? - возвращаем ссылку на самого себя
}
 
Текущее время: 23:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru