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

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

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

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

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

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

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

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

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

54
0x10
2554 / 1734 / 285
Регистрация: 24.11.2012
Сообщений: 4,361
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
2127 / 1486 / 453
Регистрация: 05.06.2014
Сообщений: 4,325
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
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,919
Записей в блоге: 3
Завершенные тесты: 1
12.07.2014, 21:16 #5
Лучший ответ Сообщение было отмечено xod как решение

Решение

http://www.cyberforum.ru/cpp-beginners/thread1176530.html
1
xod
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
12.07.2014, 21:21  [ТС] #6
Ребята спасибо! Я использую это в следующей своей программе!!
Спасибо!!
0
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,225
Записей в блоге: 23
12.07.2014, 21:29 #7
Как-то так...
1
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
12.07.2014, 21:31 #8
gru74ik,
динамическое выделение памяти, не совсем то что, динамический массив
1
dimabubyakin
159 / 120 / 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
2127 / 1486 / 453
Регистрация: 05.06.2014
Сообщений: 4,325
12.07.2014, 21:34 #10
и работаем как с обычным массивом
Который на столько "динамичен", что даже размер поменять нельзя.
1
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,225
Записей в блоге: 23
12.07.2014, 21:34 #11
Цитата Сообщение от ValeryS Посмотреть сообщение
динамическое выделение памяти, не совсем то что, динамический массив
В моём примере имеет место быть динамический массив?
1
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
12.07.2014, 21:38 #12
dimabubyakin,

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

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

Добавлено через 1 минуту
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
1
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,225
Записей в блоге: 23
12.07.2014, 21:45 #15
Цитата Сообщение от ValeryS Посмотреть сообщение
где изменение размера?
В качестве "динамичности" массива, видимо, просто подразумеваются разные вещи.

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

Во втором случае - подлинная динамичность: не только заранее не задан размер массива, но и после того, как он задан, его можно изменять.
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
12.07.2014, 21:46 #16
Цитата Сообщение от gru74ik Посмотреть сообщение
что так определён динамический массив в учебной литературе
в печку
динамический массив подразумевает изменение размера во время работы
Цитата Сообщение от gru74ik Посмотреть сообщение
и в википедии, например.
сам то читал?
Строго говоря вышеописанная реализация массива не является динамической, так как нет изменения размера массива во время работы, а всего лишь массив переменной длины.
и далее алгоритм реализации
0
Avazart
Эксперт С++
7674 / 5583 / 541
Регистрация: 10.12.2010
Сообщений: 25,050
Записей в блоге: 17
12.07.2014, 21:48 #17
Цитата Сообщение от ValeryS Посмотреть сообщение
в печку
динамический массив подразумевает изменение размера во время работы
Это как ?
Нельзя изменить размер память которая уже выделена, можно только перераспределить память путем копирования в новый массив большего размера ( если не брать в расчет reloc)
Цитата Сообщение от Renji Посмотреть сообщение
который на столько "динамичен", что даже размер поменять нельзя.
Так вектор не что иное как обвертка над "этим массивом", не по этому не советую браться за вектор не разобравшись с обычными дин.массивами
0
Renji
2127 / 1486 / 453
Регистрация: 05.06.2014
Сообщений: 4,325
12.07.2014, 21:51 #18
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
Что тут самое простое - большой вопрос. Человек ведь или delete забудет, или по указателю на удаленный объект полезет. Особенно если пришел из языков с автоматической сборкой мусора, где ручного удаления данных либо вообще нет, либо сводится оно к обнулению указателя.
0
dimabubyakin
159 / 120 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:53 #19
Renji, ты сам ответил на свой вопрос)
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
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
Привет! Вот еще темы с решениями:

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

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

Динамические массивы
Помогите сделать пожалуйста массивы a и с динамическими, чтобы не переполнять...

Динамические массивы
1. Заданы два массива А(N) и В(M). Подсчитать в них количество отрицательных...


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

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

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