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

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

Войти
Регистрация
Восстановить пароль
 
ioscat
1 / 1 / 0
Регистрация: 07.05.2014
Сообщений: 44
#1

Как хранить и обрабатывать массив больших элементов - C++

20.06.2014, 11:00. Просмотров 258. Ответов 4
Метки нет (Все метки)

Всем привет

Есть некоторый буфер объёма 1 350 000 байт (значение конкретное в конкретном времени и месте, в принципе, возможно другое), в котором хранится некоторая информация по одному событию. Допустим нам нужно хранить сто таких буферов. Вопрос первый - что стоит использовать - массив указателей или вектора? Второй мой вопрос - Если нам захотелось выкинуть первый, всё сдвинуть и в освободившееся место добавить новую информацию, ведь не нужно весь массив циклически переносить, наверное, можно обойтись указателями? И третий вопрос - если нужно добавить элемент, нужно делать realloc?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2014, 11:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как хранить и обрабатывать массив больших элементов (C++):

Приложение, позволяющее вводить, хранить и обрабатывать информацию для учета участников Олимпиады - C++
Нород, добрый день! Помогите пожалуйста или направьте в нужном направлении ,есть задание которое нужно сделать в ближайшее время, выглядит...

Дан массив из n элементов. Найти в нем количество элементов, больших 10 и вывести их на экран. - C++
Помогите решить задачу: Дан массив из n элементов. Найти в нем количество элементов, больших 10 и вывести их на экран.

Сформировать массив из элементов больших заданного значения - C++
Дан одномерный массив А(н) сформировать массив В(к),состоящий из a(i)\succ t. На печать вывести исходный массив, сформированный массив и...

Сформировать массив из количества элементов столбца матрицы, больших числа n - C++
Дан двумерный массив.сформировать одномерный массив,каждый элемент которого равен количеству элементов соответсвующего столбца двумерного...

Дан двухмерный массив целых чисел. Определить сумму элементов больших 30 - C++
Дан двухмерный массив целых чисел. Определить сумму элементов больших 30

Сформировать новый массив, состоящий только из нечетных элементов больших 3 и меньших 14 - C++
Всем привет! Как из одного созданного массива выбрать числа и записать их в новый массив? вот задание "сформировать новый массив,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5310 / 4630 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
20.06.2014, 11:30 #2
А зачем realloc(), если ты хранишь каждый буфер сам по себе, а не в одном пространстве?
С vector проще, мне кажется.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.06.2014, 11:33 #3
Цитата Сообщение от ioscat Посмотреть сообщение
массив указателей или вектора?
Мммм
Цитата Сообщение от ioscat Посмотреть сообщение
Если нам захотелось выкинуть первый, всё сдвинуть и в освободившееся место добавить новую информацию, ведь не нужно весь массив циклически переносить, наверное, можно обойтись указателями?
В зависимости от того, что хочешь с этим массивом делать. Для быстрого удаления и вставки можно использовать list.
Цитата Сообщение от ioscat Посмотреть сообщение
И третий вопрос - если нужно добавить элемент, нужно делать realloc?
В случае с контейнерами - нет.

Добавлено через 2 минуты
Цитата Сообщение от nmcf Посмотреть сообщение
если ты хранишь каждый буфер сам по себе, а не в одном пространстве?
Это верно. Но в таком случае ты же еще хранишь указатели на буферы. И массив этих указателей нужно будет увеличить в размерах, если, допустим, ты решил еще 500 буферов накидать.
nmcf
5310 / 4630 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
20.06.2014, 11:35 #4
Ну я про первое подумал. Надо использовать контейнер, зачем программировать то, что уже есть.
ioscat
1 / 1 / 0
Регистрация: 07.05.2014
Сообщений: 44
20.06.2014, 11:56  [ТС] #5
Спасибо за советы, надо почитать ещё доков

Ещё вот советуют кольцевой буфер устроить и хранить длину/начала
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2014, 11:56
Привет! Вот еще темы с ответами:

Одномерный массив x(8) задать с клавиатуры. Найти минимальный из элементов, больших -2, и поменять его местами - C++
Одномерный массив x(8) задать с клавиатуры. Найти минимальный из элементов, больших -2, и поменять его местами с последним. Помогите...

Сформировать одномерный массив, каждый элемент которого равен количеству элементов строки, больших числа - C++
Дан двумерный массив размерностью 4x6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого...

Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями - C++
Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать),...

Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива. - C++
Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2014, 11:56
Ответ Создать тему
Опции темы

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