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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Ioan
0 / 0 / 0
Регистрация: 29.12.2012
Сообщений: 27
#1

Динамическое увеличение размера динамического массива - C++

29.12.2012, 16:28. Просмотров 1381. Ответов 3
Метки нет (Все метки)

Никак не могу понять как это исправить.. Помогите, пожалуйста, разобраться в чём дело:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct myPoint
           {
           int x; 
           int  y;
           };
           int qbordlength = 0;
    myPoint* qbord = new myPoint[qbordlength];
    myPoint* dop;
 
           dop = new myPoint [qbordlength];
    for(int i=0;i<qbordlength;i++) dop[i] = qbord[i];
    qbordlength+=2;
    qbord = new myPoint[qbordlength];
    for(int i=0;i<qbordlength-2;i++) qbord[i]=dop[i];
    qbord[qbordlength-1] = e;
    qbord[qbordlength] = w;
    delete [] dop;
В итоге на выходе получается, что через один элемент (qbord[2*n+1]) равен какой-то отрицательной громадной фигне, но никак не своему должному небольшому положительному значению. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 16:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое увеличение размера динамического массива (C++):

Увеличение динамического массива - C++
В двумерном динамическом массиве вставить второй столбец после первого столбца, в котором все элементы положительны. Если такого столбца...

Увеличение элемента динамического массива - C++
Пользователь задает динамический массив из трех элементов. Как вывести на экран этот же массив,только третий элемент будет на 1 больше...

Увеличение размерности динамического массива - C++
У меня есть простейший рабочий пример заполнения массива и известным количеством выделяемой памяти class tmp{ private: int...

Увеличение максимального размера массива - C++
Дорогие программисты, пожалуйста, помогите!)) Возможно ли увеличить максимальный размер массива??? Как я поняла он ограничен 64500...

Изменение размера динамического массива - C++
вводится числовой массив неизвестной длинны, каждое число заносится в динамический массив. using namespace std; int main() { ...

Измерение размера динамического массива - C++
Как можно изменять размер динамического массива? К примеру, сначала у меня: &lt;имя_класса&gt; *mas=new &lt;имя_класса&gt;; ..... Ну и в...

3
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
29.12.2012, 17:15 #2
сразу можно сказать одно - используйте вектор, меньше будет мороки в будущем.
0
Jupiter
Каратель
Эксперт С++
6560 / 3981 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.12.2012, 17:23 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
int size = 10;
myPoint* qbord = new myPoint[size];
int newSize = 20;
myPoint* tmp = new myPoint[newSize];
 
for (int i = 0; i < size; ++i)
    tmp[i] = qbord[i];
 
delete [] qbord;
qbord = tmp;
//...
delete [] qbord;
1
Ioan
0 / 0 / 0
Регистрация: 29.12.2012
Сообщений: 27
29.12.2012, 21:03  [ТС] #4
Спасибо! Теперь всё работает как надо
0
29.12.2012, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2012, 21:03
Привет! Вот еще темы с ответами:

Увелечение размера динамического массива - C++
Добрый день! Итак, допустим есть массив: char *str = new char; Задача следующая: увеличить размер массива на 1 (то есть до 5...

Определение размера динамического массива - C++
Вопрос может не много глупый, но я подзабыл с. Считаю размер динамического массива и результат получается неверный, логическую ошибку...

Увеличение размера массива из элементов собственного класса - C++
Добрый день, столкнулся с проблемой, у меня есть собственный класс myClass{ myClass(){ len = 0; ii = new...

Определение размера динамического массива строк - C++
Здравствуйте, столкнулся с проблемой предопределения размера массива строк. Проблема в том, что я не знаю, какой размер мне выделить при...


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

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

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