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

Увеличить размерность массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генерирование файла на XML путем последовательного прибавления http://www.cyberforum.ru/cpp-beginners/thread1145863.html
Требуется создать игровой мир из сплошных плоскостей. Ввиду большого объема работы вручную, предположил что можно создать некий генератор, который исходя из заданной точки(заданной координатами на...
C++ Перевести текст программы на С++ с С# using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; ... http://www.cyberforum.ru/cpp-beginners/thread1145855.html
C++ Коррекция ошибок в системе остаточных классов (СОК)
Всем привет! Нужны алгоритмы коррекции ошибок в системе остаточных классов. Кто имел дело с данными алгоритмами, пожалуйста, поделитесь информацией, может есть книги, статьи, где описываются данные...
Напечатать сначала цифры, а потом малые латинские буквы в строке C++
Дана строка символов St длиной не более 72, которая может состоять из цифр, малых латинских букв и знаков '+','-','*','/','.','(', ')' и пробела. Строка задается либо в диалоговом режиме, либо в...
C++ OpenMP http://www.cyberforum.ru/cpp-beginners/thread1145847.html
есть код в общем виде... #pragma omp parallel for for (i = 0; i < n; ++i) { temp = B; // обращаемся for (j = 0; j < k; ++j) if (A != ...) // обращаемся break; ......
C++ Конструктор. Повторный ввод в строку При создании второго объекта, не запрашивает повторный ввод в строку типа char. Как исправить? class exampleGar { private: int rngA, rngB; long rangeA_rangeB; friend void... подробнее

Показать сообщение отдельно
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.04.2014, 01:02
Цитата Сообщение от mh-coder Посмотреть сообщение
серовно ошибка
Отладчиком пользоваться умеете? Найдите, в каком месте кода ошибка.

Добавлено через 2 минуты
C++
1
if(array_len = 1)
Это не сравнение, а присваивание.

Добавлено через 8 минут
Цитата Сообщение от mh-coder Посмотреть сообщение
int *get_array = new int[array_len];
И не нужно, в функции, новый указатель объявлять. Просто:
C++
1
get_array = new int[array_len];
Добавлено через 3 минуты
Память под time_array нужно освобождать (в конце функции).

Добавлено через 5 минут
Но лучше так:
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
int increase_int_array(int *&get_array,int array_len)
{
    if(array_len == 1) 
    {
//если длина массива= 1 значи он до этого был пустой и перезаписыать данные ненужно
        delete[]get_array;
        get_array = new int[array_len];
    }
    else
    {
 
    int *time_array = new int[array_len];
//создаем временный указатель на массив
    
    for (int i = 0; i < array_len-1; i++)
    {
        *(time_array+i) = *(get_array+i);
    }
//копируем в него данные
    delete [] get_array;
//удаляем старый массив
    get_array = time_array;
// адрес нового массива присваиваем get_array
    
    }
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.