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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
TpukcTep
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 13
#1

Расширяемый массив - C++

13.07.2013, 21:49. Просмотров 1621. Ответов 5
Метки нет (Все метки)

Подскажите как задать динамически расширяемый массив, не используя STL.
На теории, если массив переполнен, создаём массив в 2 раза больше и копируем туда исходный.
Но сталкиваюсь с такой проблемой, как сделать массив с тем же именем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2013, 21:49     Расширяемый массив
Посмотрите здесь:

Расширяемый массив - C++
Почему на выходе получаются "кракозябры" ? int main() { int* a = new int; for (size_t i = 0; i < 10; i++) { a =...

Динамически расширяемый массив - C++
Не получается добавить элементы в начало массива, прошу помочь/подсказать #include <iostream> using namespace std; class myVector {...

Расширяемый интерфейс - C#
Доброго времени суток, кто читает тему. Передо мной возникла задача: реализовать программу, которая берет данные о форме из другого...

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j>3, то Aij=i+j, иначе...

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив? - C++ Builder
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив, из которого по заданным условиям...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
13.07.2013, 22:14     Расширяемый массив #2
Цитата Сообщение от TpukcTep Посмотреть сообщение
Но сталкиваюсь с такой проблемой, как сделать массив с тем же именем.
Выделяем динамически память, храним указатель на область и сопутствующие данные. При необходимости перевыделяем память.
Всё это дело оборачиваем в класс
TpukcTep
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 13
13.07.2013, 22:19  [ТС]     Расширяемый массив #3
Так, разве я тогда не буду использовать библиотеку STL?
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
13.07.2013, 23:06     Расширяемый массив #4
Цитата Сообщение от TpukcTep Посмотреть сообщение
Так, разве я тогда не буду использовать библиотеку STL?
Хотите используйте, хотите нет
increator
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 3
13.07.2013, 23:37     Расширяемый массив #5
Вот смотри
http://www.youtube.com/watch?v=MjYjq360pz0
http://www.youtube.com/watch?v=lkNqANzkXEM
http://www.youtube.com/watch?v=1B986WA8f8A
http://www.youtube.com/watch?v=hY3VSpwyZOo
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2013, 00:17     Расширяемый массив
Еще ссылки по теме:

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...

Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив В - Pascal ABC
Ребят помогите решить задачу на паскале и на бейсике. Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив...

Дан массив А. Составить массив В, в котором b[ i ]=a[0]+a[1]+a[2]+....+a[ i ] i=0,1,2,3,4......n-1. Распечатать массив В - Turbo Pascal
Дан массив А. Составить массив В, в котором b=a+a+a+....+a i=0,1,2,3,4......n-1. Распечатать массив В

Разделить массив на массив четных положительных и массив остальных - Pascal ABC
дана последовательность из 20 эл. надо её отсортировать на 2 массива. условия видны в задании Program z_6; Uses Crt; Var ...

Массивы. В массив С переписать сначала массив А затем массив В - Turbo Pascal
В массив С переписать сначала массив А(20) затем массив В(20). Вывести все три массива. Добавлено через 33 минуты Проверьте...

Дан массив А. Составить массив В, в котором b[ i ]=a[0]+a[1]+a[2]+....+a[ i ] i=0,1,2,3,4......n-1. Распечатать массив В - Pascal
Дан массив А. Составить массив В, в котором b=a+a+a+....+a i=0,1,2,3,4......n-1. Распечатать массив В.


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

Или воспользуйтесь поиском по форуму:
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
14.07.2013, 00:17     Расширяемый массив #6
Цитата Сообщение от TpukcTep Посмотреть сообщение
На теории, если массив переполнен, создаём массив в 2 раза больше и копируем туда исходный.
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
int main()
{
    const size_t size = 5;
    int* arr = new int[size];
 
    for (int i = 0; i < size; ++i) 
        arr[i] = i; 
 
    int* tmp_a = arr;
 
    const size_t size2 = size * 2;
 
    arr = nullptr;
    arr = new int[size2];
 
    for (int i = 0; i < size2; ++i)
    {
        if (i < size)
            arr[i] = tmp_a[i];
        else
            arr[i] = i;
    }
 
    for (int i = 0; i < size2; ++i)
        std::cout << arr[i] << std::endl;
 
    delete[] tmp_a;
    delete[] arr;
 
    return 0;
}
Yandex
Объявления
14.07.2013, 00:17     Расширяемый массив
Ответ Создать тему
Опции темы

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