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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
TpukcTep
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 13
#1

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

13.07.2013, 21:49. Просмотров 1449. Ответов 5
Метки нет (Все метки)

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

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. C++
Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. C++
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив C++
C++ Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
C++ Массив: Переместить в массив Y все числа, дробная часть которых больше 5.
Сжать массив, выбросив из него отрицательные элементы - массив становится пустым C++
C++ Расширяемый массив
C++ Динамически расширяемый массив
C++ Поместить в динамически расширяемый массив объекты класса, производные от базового абстрактного класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,477
Записей в блоге: 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,477
Записей в блоге: 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
430 / 365 / 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     Расширяемый массив
Ответ Создать тему
Опции темы

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