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

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

Войти
Регистрация
Восстановить пароль
 
GhostVIRUS
6 / 6 / 0
Регистрация: 17.09.2011
Сообщений: 81
#1

Динамические массивы - C++

12.11.2011, 21:30. Просмотров 564. Ответов 14
Метки нет (Все метки)

Объясните пожалуйста что такое динамические массивы. Это массивы с не константным количеством элементов? Если так, то как их объявлять?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2011, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамические массивы (C++):

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

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

Динамические массивы. - C++
Дан одномерный массив, состоящий из 30 целых чисел. Создать другой массив, содержащий элементы исходного массива, кратные 5. Помогите...

Динамические массивы - C++
1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать 2. Выполнить указанное в варианте...

Динамические Массивы - C++
Выручайте ребята :friends: 1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. ...

Динамические массивы - C++
Ребят,дело в том,возник вопрос по применению динамических массивов в программировании.Я так понял,что динамические массивы отличаются от...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
12.11.2011, 21:32 #2
C++
1
int *arr = new int [n];
C
1
int *arr = (int*) malloc (sizeof(int*)*n);
n - количество элементов
0
Jupiter
12.11.2011, 21:35
  #3

Не по теме:

Dekio, размер указателя зачем ?

Цитата Сообщение от Dekio Посмотреть сообщение
sizeof(int*)
массив то одномерный

0
GhostVIRUS
6 / 6 / 0
Регистрация: 17.09.2011
Сообщений: 81
12.11.2011, 21:35  [ТС] #4
Я не дружу с указателями. Т.к. пока ними не пользуюсь. Но я так понял это массив в динамической памяти?
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
12.11.2011, 21:38 #5
Jupiter, не имеет разницы. В любом случае программа считает n*4;
0
Jupiter
12.11.2011, 21:40
  #6

Не по теме:

Dekio, слишком самонадеянно

0
Dekio
12.11.2011, 21:42
  #7

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
Dekio, слишком самонадеянно
Если на все 100% знать что ты делаешь, то нет

0
GhostVIRUS
12.11.2011, 21:45  [ТС]
  #8

Не по теме:

Может мне кто-то в конце концов объяснит?!

0
mc.Duck
Заблокирован
12.11.2011, 21:46 #9
Динамические массивы - массивы данных, размерность которых устанавливается динамически, то есть во время работы программы.
Динамические массивы могут оказаться полезны в программах, требующих ввода от пользолвателя
неких данных.

В Pascal / Delphi это можно реализовать вот таким вот путем:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
...
var mass:array of integer;
mass2:array of array of integer;
begin
SetLength(mass,5);                  //mass в диапазоне от 0 до 4!
mass[4]:=10;
SetLength(mass2,2);               // mass2 в диапазоне от 0 до 4! 
SetLength(mass[0],5);            //Для каждой строчки двумерной матрицы заводим свою размерность!
SetLength(mass[1],7);      
mass2[1,1]:=5;      
end; 
...
0
GhostVIRUS
6 / 6 / 0
Регистрация: 17.09.2011
Сообщений: 81
12.11.2011, 21:47  [ТС] #10
То есть массивы с неограниченным количеством элементов?
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
12.11.2011, 21:49 #11

Не по теме:

mc.Duck, каким местом динамические массивы Delphi имеют отношение к языку С++ ?



Добавлено через 50 секунд
GhostVIRUS, неограниченного количества элементов не выйдет.
Все зависит от объема памяти
0
GhostVIRUS
6 / 6 / 0
Регистрация: 17.09.2011
Сообщений: 81
12.11.2011, 21:50  [ТС] #12
Хм... А этот массив может менять количество элементов?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.11.2011, 21:52 #13
GhostVIRUS, Понимание для чего вообще нужны указатели?
0
mc.Duck
Заблокирован
12.11.2011, 22:48 #14
GhostVIRUS, да, может менять кол-во элементов, но тогда он обнуляется, то есть все данные в нем сгорают.

Добавлено через 28 секунд
GhostVIRUS, в этом все и фишка динамики)
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
13.11.2011, 07:46 #15

Не по теме:

Цитата Сообщение от Dekio Посмотреть сообщение
Если на все 100% знать что ты делаешь, то нет
Не факт, что на протяжение всего времени существования языка размер указателя будет равен 4-м байтам. Поэтому всё же так делать не надо. Да и нелогично это.



Добавлено через 3 минуты

Не по теме:

А, ну и плюс к этому стоит изменить тип и забыть убрать звёздочку - и получим беду в рантайме.

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2011, 07:46
Привет! Вот еще темы с ответами:

Динамические массивы - C++
Здравствуйте. Задание следующее: Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. ...

Динамические массивы. - C++
Знаю глупый вопрос, но подскажите пожалуйста. как в С++ динамечески задать двумерный строковый массив char. Чтобы работал и с миллионами...

Динамические массивы - C++
Дана целочисленная матрица размером N. Найти сумму наименьших элементов ее нечетных строк и наибольших элементов ее четных строк. Нужно...

динамические массивы ? - C++
как заполнить массив2 к примеру отрицательными элементами с массива1


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.11.2011, 07:46
Ответ Создать тему
Опции темы

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