| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Помогите с созданием массива-вектора |
| Автор: c1bby 22.12.2005, 21:36 |
| Вот на контрольной на курсах по С++ сказали написать массив-вектор,тоесть нада сначала динамически выделить память заполнить массив,потом спросить типа хотите ещё добавить или нет?Если да,то нада разме рувеличить на столько сколько хотят добавить.Как я понимаю это нада создать 2 массива:1-основной куда первоначально будет заносится информация,а 2 для того тчобы скопировать с 1 информацию и добавить новую. Пользовался поиском но ничего такого не нашёл везде говорят использовать класс vector.Но сказали что нада самим написать.Помогите пожалуйста. |
| Автор: Fighter 22.12.2005, 21:48 |
| Здесь можно обойтись связанным списом. Добавлено @ 21:49 Сам напишешь, или все-таки надо реализовать. |
| Автор: bel_nikita 22.12.2005, 21:57 | ||
Не пойдёть! Требуется именно вектор, т.е. элементы последовательно должны лежать в памяти |
| Автор: c1bby 22.12.2005, 22:01 |
| сказали списком стеокм и тд и тп нельзя нада массив.Как реализовать не знаю на языке С++.В теори понятно а программно нет.Помогите плз |
| Автор: LPBOY 22.12.2005, 22:25 | ||||
Вот простой динамический массив из книги Б. Эккеля, Ч. Эллисона
Если без шаблонов то так:
|
| Автор: c1bby 22.12.2005, 22:49 |
| Это как бы немного не то... Надо чтобы всё происходило динамически,тоесть мы создаём массив размером Н допустим,вводим его и в соответствии заполняем массив.Потом вопрос: Хотите ли ещё доваить элементов?Сколько?Вот тут то и загвоздка,я не знаю как реализовать новое выделение памяти.В начале я писал как думаю...тоесть что нужен 2 массив. А в коде что ты привел там простовыводится заданный массив.я не увидел атм сути массивов-векторов. |
| Автор: bel_nikita 22.12.2005, 23:06 | ||
А давай сам чего-нибудь подумаешь, попишешь и задашь конкретные вопросы? LPBOY привел то, от чего нужно плясать, простую и понятную реализацию вектора. В этих строчках кода и есть вся суть! |
| Автор: LPBOY 22.12.2005, 23:19 | ||||
Нет это как раз динамический массив - простейший вариант vectora. При добавлении в него элементов он динамически растет.
Смотри как реализована функция push_back. |
| Автор: usawal 26.12.2005, 20:37 |
| Почитай про функции realloc() и free(). По-моему они могут навести на интересные соображения. Тем более, что они дают возможность в данной задаче использовать всего один массив. |