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

Как увеличить размерность массива? - C++

Восстановить пароль Регистрация
 
RayPas
 Аватар для RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 367
11.04.2014, 02:02     Как увеличить размерность массива? #1
В процессе отладки программы появилась необходимость увеличить массивы, объявленные ниже, на 4 элемента. Можно ли это сделать в первом и во втором случаях, не изменяя констан-ту 10?
C++
1
2
    int *mas1=new int[10]; // 1
   vector <int> mas2(10);     //2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 02:02     Как увеличить размерность массива?
Посмотрите здесь:

как задать размерность одномерного массива C++
Как поменять размерность массива? C++
C++ как увеличить меру массива?
размерность массива должна определяться динамически, это как? C++
Как определить размерность массива C++
Увеличить размерность массива C++
C++ Как правильно задавать размерность массива?
Как хранить размерность массива? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
11.04.2014, 02:44     Как увеличить размерность массива? #2
Цитата Сообщение от RayPas Посмотреть сообщение
vector <int> mas2(10); //2
mas2.resize(14);
Цитата Сообщение от RayPas Посмотреть сообщение
int *mas1=new int[10]; // 1
Если использовать функцию malloc то можно будет перевыделить память используя realloc.
IrineK
Заблокирован
11.04.2014, 04:41     Как увеличить размерность массива? #3
Для
Цитата Сообщение от RayPas Посмотреть сообщение
int *mas1=new int[10]; // 1
Пишем небольшую функцию int *Enlarge (int *src, int N, int delta)
Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>   
#include <ctime>
 
void FillRandom (int *arr, int N, int bottom, int top)
{   for (int i = 0; i<N; i++)
        arr[i] = rand()%(top-bottom+1) + bottom;
}
 
void Print (int *arr, int N)
{   for (int i = 0; i<N; i++)
    {   std :: cout.width(5);
        std :: cout << arr[i];
    }
    std :: cout << "\n";
}
 
int *Enlarge (int *src, int N, int delta)
{   int i;
    int *bigger = new int [N + delta];
    for (i = 0; i<N; i++)
        bigger [i] = src[i];
    for ( ; i<N + delta; i++)
        bigger [i] = 0;
    
    delete [] src;
    return bigger;
}
 
int main () 
{   srand ((unsigned int) time (NULL));
    int N = 10;
    int M = 4;
 
    int *arr = new int [N];
    FillRandom (arr, N, 2, 5);
    Print (arr, N);
 
    arr = Enlarge (arr, N, M);
    Print (arr, N+M);
 
    delete [] arr;
 
    std :: cin.get();
    return 0;
}
Yandex
Объявления
11.04.2014, 04:41     Как увеличить размерность массива?
Ответ Создать тему
Опции темы

Текущее время: 16:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru