Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
xod
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
1

Есть ли в С++ динамические массивы?

12.07.2014, 21:08. Просмотров 1806. Ответов 54
Метки нет (Все метки)

Я сначала подобный вопрос задал поисковой
системе. Ответ меня обескуражил. Ответы
примерно такие:
1. Нет и не было.
2. Кажется есть оператор New
3. Есть динамическая память
4. Что-то есть, а вам зачем?
Мне все-таки хочется узнать, а лучше
Небольшой конкретный пример, что есть??
И как это использовать?? Что надо подключить??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2014, 21:08
Ответы с готовыми решениями:

Зачем нужны обычные массивы, если есть динамические?
Всем привет! Вопрос в заголовке. Если динамический массив даёт те же и ещё...

Динамические массивы и функции. Динамические массивы.
Дана матрица 6х8 целого типа. Создать одномерный массив, содержащий элементы...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц)
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой...

Структуры, массивы, указатели, динамические массивы структур
Помогите с решением задачи (прикрепляю условие). Заранее спасибо.

динамические массивы
Задали квадратную матрицу, все элементы которой равны единице. Написать функцию...

54
0x10
2571 / 1751 / 288
Регистрация: 24.11.2012
Сообщений: 4,377
12.07.2014, 21:10 2
std::vector
1
xod
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
12.07.2014, 21:13  [ТС] 3
Спасибо!
Но маленький пример лучше!!
0
Renji
2105 / 1545 / 471
Регистрация: 05.06.2014
Сообщений: 4,484
12.07.2014, 21:16 4
Лучший ответ Сообщение было отмечено xod как решение

Решение

C++
1
2
3
4
std::vector<int>array;
array.push_back(1);
array.push_back(2);
array.push_back(3);
1
Croessmah
++Ͻ
14611 / 8365 / 1576
Регистрация: 27.09.2012
Сообщений: 20,563
Записей в блоге: 2
Завершенные тесты: 1
12.07.2014, 21:16 5
Лучший ответ Сообщение было отмечено xod как решение

Решение

Определить наибольший элемент последовательности
1
xod
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
12.07.2014, 21:21  [ТС] 6
Ребята спасибо! Я использую это в следующей своей программе!!
Спасибо!!
0
sourcerer
Модератор
Эксперт CЭксперт С++
4862 / 2043 / 325
Регистрация: 20.02.2013
Сообщений: 5,544
Записей в блоге: 24
Завершенные тесты: 1
12.07.2014, 21:29 7
Как-то так...
1
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,685
12.07.2014, 21:31 8
gru74ik,
динамическое выделение памяти, не совсем то что, динамический массив
1
dimabubyakin
160 / 121 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:33 9
Динамический массив
C++
1
2
3
int n;
cin>>n;
int *a = new int[n];
и работаем как с обычным массивом
1
Renji
2105 / 1545 / 471
Регистрация: 05.06.2014
Сообщений: 4,484
12.07.2014, 21:34 10
и работаем как с обычным массивом
Который на столько "динамичен", что даже размер поменять нельзя.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4862 / 2043 / 325
Регистрация: 20.02.2013
Сообщений: 5,544
Записей в блоге: 24
Завершенные тесты: 1
12.07.2014, 21:34 11
Цитата Сообщение от ValeryS Посмотреть сообщение
динамическое выделение памяти, не совсем то что, динамический массив
В моём примере имеет место быть динамический массив?
1
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,685
12.07.2014, 21:38 12
dimabubyakin,

почему вы путаете динамический массив и динамическое выделение памяти
в частности пользователь ввел десять
выделили память под 10 элементов
а потом понадобилось 100,
ваши действия?

Добавлено через 24 секунды
Цитата Сообщение от gru74ik Посмотреть сообщение
В моём примере имеет место быть динамический массив?
где изменение размера?
1
sourcerer
Модератор
Эксперт CЭксперт С++
4862 / 2043 / 325
Регистрация: 20.02.2013
Сообщений: 5,544
Записей в блоге: 24
Завершенные тесты: 1
12.07.2014, 21:42 13
Цитата Сообщение от ValeryS Посмотреть сообщение
почему вы путаете динамический массив и динамическое выделение памяти
Наверное потому, что так определён динамический массив в учебной литературе и в википедии, например.
0
dimabubyakin
160 / 121 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:45 14
ValeryS, хм.. пример приведенный мной является простейшим динамическим массивом, конечно можно натолкать кучу всего, но зачем? Человек просто попросил привести пример ему, что я и сделал.

Добавлено через 1 минуту
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
1
sourcerer
Модератор
Эксперт CЭксперт С++
4862 / 2043 / 325
Регистрация: 20.02.2013
Сообщений: 5,544
Записей в блоге: 24
Завершенные тесты: 1
12.07.2014, 21:45 15
Цитата Сообщение от ValeryS Посмотреть сообщение
где изменение размера?
В качестве "динамичности" массива, видимо, просто подразумеваются разные вещи.

В первом случае - заранее неизвестен размер массива, но как только размер определён, менять его уже нельзя. Так скажем, ограниченная динамичность.

Во втором случае - подлинная динамичность: не только заранее не задан размер массива, но и после того, как он задан, его можно изменять.
0
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,685
12.07.2014, 21:46 16
Цитата Сообщение от gru74ik Посмотреть сообщение
что так определён динамический массив в учебной литературе
в печку
динамический массив подразумевает изменение размера во время работы
Цитата Сообщение от gru74ik Посмотреть сообщение
и в википедии, например.
сам то читал?
Строго говоря вышеописанная реализация массива не является динамической, так как нет изменения размера массива во время работы, а всего лишь массив переменной длины.
и далее алгоритм реализации
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
12.07.2014, 21:48 17
Цитата Сообщение от ValeryS Посмотреть сообщение
в печку
динамический массив подразумевает изменение размера во время работы
Это как ?
Нельзя изменить размер память которая уже выделена, можно только перераспределить память путем копирования в новый массив большего размера ( если не брать в расчет reloc)
Цитата Сообщение от Renji Посмотреть сообщение
который на столько "динамичен", что даже размер поменять нельзя.
Так вектор не что иное как обвертка над "этим массивом", не по этому не советую браться за вектор не разобравшись с обычными дин.массивами
0
Renji
2105 / 1545 / 471
Регистрация: 05.06.2014
Сообщений: 4,484
12.07.2014, 21:51 18
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
Что тут самое простое - большой вопрос. Человек ведь или delete забудет, или по указателю на удаленный объект полезет. Особенно если пришел из языков с автоматической сборкой мусора, где ручного удаления данных либо вообще нет, либо сводится оно к обнулению указателя.
0
dimabubyakin
160 / 121 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:53 19
Renji, ты сам ответил на свой вопрос)
0
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,685
12.07.2014, 21:54 20
Цитата Сообщение от dimabubyakin Посмотреть сообщение
хм.. пример приведенный мной является простейшим динамическим массивом,
не является
способ выделения памяти не делает массив динамическим
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Человек просто попросил привести пример
человек спросил прямо
Цитата Сообщение от xod Посмотреть сообщение
Есть ли в С++ динамические массивы?
и в первых постах ему ответили

круче vector я видел динамический массив CArray в MFC но он нестандартый
C++
1
2
3
4
CArray <int,int>arr;
arr[10]=5;
arr[100]=10;
arr[10000]=5
1
12.07.2014, 21:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 21:54

Динамические Массивы
Есть массив с неизвестным количеством ячеек (или их нет пока). И когда...

Динамические массивы:
Найти максимальный элемент матрицы.

Динамические массивы
Доброго времени суток! Везде написано, что динамический массив - это массив,...


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

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

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