Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
#1

Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив)

02.03.2013, 01:17. Просмотров 710. Ответов 9
Метки нет (Все метки)

Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 01:17
Ответы с готовыми решениями:

Ошибка при вызове функции добавления нового элемента в массив
Описывается класс Datchik. Затем в классе Lists объявляется массив объектов...

Реализация добавления нового элемента в массив структур и удаление существующего
Как реализовать в этой программе добавление нового элемента и удаление...

Написать функции добавления и удаления произвольного элемента динамического массива
Несмотря на вроде бы распространенность задачи нигде не могу найти простое и...

Сделать добавление элемента в массив и удаление элемента из массива используя STL
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А....

9
Croessmah
++Ͻ
14503 / 8285 / 1556
Регистрация: 27.09.2012
Сообщений: 20,338
Записей в блоге: 3
Завершенные тесты: 1
02.03.2013, 01:17 #2
На подобии std::vector?
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
02.03.2013, 02:57  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
На подобии std::vector?
ага
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
02.03.2013, 03:08 #4
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
02.03.2013, 20:03  [ТС] #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
нету

Добавлено через 8 часов 28 минут
ну поможете ктонебуть
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
02.03.2013, 22:58 #6
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
#include <iostream>
#include <list>
#include <cstddef>
#include <vector>
 
template<typename T>
class MyVector
{
    public:
        MyVector() : l_(), size_(0) {}
        T* begin() noexcept { return l_.begin(); }
        const T* begin() const noexcept { return l_.begin(); }
        void clear() noexcept { l_.clear(); }
        bool empty() const noexcept { return size_ == 0; }
        T* end() noexcept { return l_.end(); }
        const T* end() const noexcept { return l_.end(); }
        void push_back(const T& data) { l_.push_back(data); size_++; }
        void pop_back() { if (size_) { l_.pop_back(); size_--; } }
        std::size_t size() const noexcept { return size_; }
 
    protected:
        std::list<T> l_;
        std::size_t size_;
};
 
int main()
{
    MyVector<int> v;
    v.pop_back();
    v.push_back(2);
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
}
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,177
Записей в блоге: 1
02.03.2013, 23:26 #7
Цитата Сообщение от MrGluck Посмотреть сообщение
Если все на std::list реализовать?
А смысл тогда это вообще делать? Учебные задания на то и учебные, чтобы самому реализовать все эти vector/list/queue/..., а не смотреть на них как на чёрные ящики
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
02.03.2013, 23:44 #8
Kuzia domovenok, я придерживаюсь того же мнения, более того, считаю, что через list было бы делать неверно т.к. operator[] будет обладать сложностью O(n) вместо O(1), но каков вопрос - таков ответ.
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
05.03.2013, 02:30  [ТС] #9
Цитата Сообщение от MrGluck Посмотреть сообщение
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
#include <iostream>
#include <list>
#include <cstddef>
#include <vector>
 
template<typename T>
class MyVector
{
    public:
        MyVector() : l_(), size_(0) {}
        T* begin() noexcept { return l_.begin(); }
        const T* begin() const noexcept { return l_.begin(); }
        void clear() noexcept { l_.clear(); }
        bool empty() const noexcept { return size_ == 0; }
        T* end() noexcept { return l_.end(); }
        const T* end() const noexcept { return l_.end(); }
        void push_back(const T& data) { l_.push_back(data); size_++; }
        void pop_back() { if (size_) { l_.pop_back(); size_--; } }
        std::size_t size() const noexcept { return size_; }
 
    protected:
        std::list<T> l_;
        std::size_t size_;
};
 
int main()
{
    MyVector<int> v;
    v.pop_back();
    v.push_back(2);
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
}
а канебудь попроще
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,177
Записей в блоге: 1
05.03.2013, 02:42 #10
Цитата Сообщение от MrGluck Посмотреть сообщение
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
Цитата Сообщение от Kiberg_boy Посмотреть сообщение
-нету
Цитата Сообщение от Kiberg_boy Посмотреть сообщение
-а канебудь попроще
твои слова про то, что нет ограничений?
0
05.03.2013, 02:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 02:42

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

После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать
после каждого четного элемента массива вставить 2 элемента с тем же...

Вставка нового элемента в массив
В одномерном массиве, элементы которого - целые числа, произвести следующие...


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

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

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