|
|
|
| Как изменить размерность динамического массива при переполнении? | |
|
|
|
|
|
|
|
для: abricos
(17.05.2007 в 13:53)
| | Уничтожать старый массив и создавать новый или использовать vector из библиотеки STL. Более подробо вопрос обсуждается в теме по ссылке http://www.softtime.ru/cpp/read.php?id_forum=1&id_theme=51. | |
|
|
|
|
|
|
|
для: cheops
(17.05.2007 в 14:13)
| | Дело в том, что мне нужен крассивый вариант без stl, собственноручный - это задание в универе. Если не сложно напишите пожалуйста, буду очень благодарен. | |
|
|
|
|
|
|
|
для: abricos
(17.05.2007 в 14:24)
| | хорошо напишу. | |
|
|
|
|
|
|
|
для: mefestofel
(17.05.2007 в 15:18)
| |
#define N 5
int *GetArray()
{
int i, *p;
p = new int[N];
for (i=0; 1; i++)
{
printf("%d- ый элемент:", i);
scanf("%d", &p[i]);
if ((i + 1)%N == 0)
{
int *q = new int[i + 1 +N];
for (int j=0; j<=i; j++)
{
q[j] = p[j];
delte(p);
p=q;
}
}
if (p[i] == 0)
{
return p;
}
}
}
|
| |
|
|
|
|
|
|
|
для: mefestofel
(17.05.2007 в 15:18)
| | или
p = (int*) realloc((void*)p, sizeof(int)*(i+1+N));
|
С использованием STL думаю сделаете сами. | |
|
|
|