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

Расширяемый массив - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
TpukcTep
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 13
13.07.2013, 21:49     Расширяемый массив #1
Подскажите как задать динамически расширяемый массив, не используя STL.
На теории, если массив переполнен, создаём массив в 2 раза больше и копируем туда исходный.
Но сталкиваюсь с такой проблемой, как сделать массив с тем же именем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2013, 21:49     Расширяемый массив
Посмотрите здесь:

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
C++ Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2)
Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. C++
C++ Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
C++ Массив: Переместить в массив Y все числа, дробная часть которых больше 5.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11825 / 6804 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 1
13.07.2013, 22:14     Расширяемый массив #2
Цитата Сообщение от TpukcTep Посмотреть сообщение
Но сталкиваюсь с такой проблемой, как сделать массив с тем же именем.
Выделяем динамически память, храним указатель на область и сопутствующие данные. При необходимости перевыделяем память.
Всё это дело оборачиваем в класс
TpukcTep
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 13
13.07.2013, 22:19  [ТС]     Расширяемый массив #3
Так, разве я тогда не буду использовать библиотеку STL?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11825 / 6804 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 1
13.07.2013, 23:06     Расширяемый массив #4
Цитата Сообщение от TpukcTep Посмотреть сообщение
Так, разве я тогда не буду использовать библиотеку STL?
Хотите используйте, хотите нет
increator
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 3
13.07.2013, 23:37     Расширяемый массив #5
Вот смотри
http://www.youtube.com/watch?v=MjYjq360pz0
http://www.youtube.com/watch?v=lkNqANzkXEM
http://www.youtube.com/watch?v=1B986WA8f8A
http://www.youtube.com/watch?v=hY3VSpwyZOo
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
14.07.2013, 00:17     Расширяемый массив #6
Цитата Сообщение от TpukcTep Посмотреть сообщение
На теории, если массив переполнен, создаём массив в 2 раза больше и копируем туда исходный.
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
int main()
{
    const size_t size = 5;
    int* arr = new int[size];
 
    for (int i = 0; i < size; ++i) 
        arr[i] = i; 
 
    int* tmp_a = arr;
 
    const size_t size2 = size * 2;
 
    arr = nullptr;
    arr = new int[size2];
 
    for (int i = 0; i < size2; ++i)
    {
        if (i < size)
            arr[i] = tmp_a[i];
        else
            arr[i] = i;
    }
 
    for (int i = 0; i < size2; ++i)
        std::cout << arr[i] << std::endl;
 
    delete[] tmp_a;
    delete[] arr;
 
    return 0;
}
Yandex
Объявления
14.07.2013, 00:17     Расширяемый массив
Ответ Создать тему
Опции темы

Текущее время: 15:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru