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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Генерирование файла на XML путем последовательного прибавления http://www.cyberforum.ru/cpp-beginners/thread1145863.html
Требуется создать игровой мир из сплошных плоскостей. Ввиду большого объема работы вручную, предположил что можно создать некий генератор, который исходя из заданной точки(заданной координатами на осях X=-8000 и Y=-8000)математическим путем вычислит новые координаты. Допустим есть начальная строка <object dimension="600" interior="0" model="8001" owner="World" posX="-8000" posY="-8000"...
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; namespace metodprogonki http://www.cyberforum.ru/cpp-beginners/thread1145855.html
C++ Коррекция ошибок в системе остаточных классов (СОК)
Всем привет! Нужны алгоритмы коррекции ошибок в системе остаточных классов. Кто имел дело с данными алгоритмами, пожалуйста, поделитесь информацией, может есть книги, статьи, где описываются данные методы. Насколько я знаю, есть метод проекций, который позволяет обнаружить ошибку, определить разряд, в котором ошибка и исправить ее, метод коррекции ошибки путем перевода в обобщенную полиодическую...
Напечатать сначала цифры, а потом малые латинские буквы в строке C++
Дана строка символов St длиной не более 72, которая может состоять из цифр, малых латинских букв и знаков '+','-','*','/','.','(', ')' и пробела. Строка задается либо в диалоговом режиме, либо в виде константы. Напечатать сначала цифры, а потом малые латинские буквы, имеющиеся в этой строке. Пример: AppLe 17-9=8 WhILe K19 Print(c485) End
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; ... #pragma omp critical section {
C++ Конструктор. Повторный ввод в строку При создании второго объекта, не запрашивает повторный ввод в строку типа char. Как исправить? class exampleGar { private: int rngA, rngB; long rangeA_rangeB; friend void setRange(char *, int, int, exampleGar&); friend void getRange(exampleGar&); public: подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 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;
}
 
Текущее время: 02:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru