1 | ||||||
Безразмерный массив19.11.2011, 16:52. Показов 25967. Ответов 19
Метки нет (Все метки)
Доброго времени суток!
Столкнулся с такой проблемой: как можно сделать массив int не указывая его размерность...тобишь чтоб он сам мог расширяться по мере необходимости.. если быть совсем точным, то его размерность, как я понял, должна соответствовать введённому числу n.. вот код, где st[10],ft[10],wt[10],ta[10],rt[10] имеют максимум 10..но нужно чтоб было любое, введённое число.
0
|
19.11.2011, 16:52 | |
Ответы с готовыми решениями:
19
Указатель на безразмерный массив Дан безразмерный массив.Вставить количество символов каждой строки вначало этой же строки. Безразмерный файл забить структурами и осуществить их сортировку Безразмерный массив |
Каратель
|
||||||
19.11.2011, 16:55 | 2 | |||||
примеры - http://www.java2s.com/Tutorial... vector.htm
0
|
Каратель
|
||||||
19.11.2011, 17:04 | 4 | |||||
0
|
19.11.2011, 17:09 [ТС] | 6 | |||||
Я так сделал...
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
||||||
19.11.2011, 17:15 | 7 | |||||
bupal, можно и на чистом Си вот так
Добавлено через 46 секунд Теперь за использование чистого Си приходится извиняться...
0
|
Заблокирован
|
||||||
19.11.2011, 17:16 | 8 | |||||
Обрати внимание, вот на этот код:
Прежде чем использовать инструмент, ознакомься с инструкцией.
0
|
Заблокирован
|
|
19.11.2011, 17:23 | 10 |
Прочитать инструкцию к применению.
Для тех, кто ещё не научился пользоваться гуглом: http://www.cplusplus.com/reference/stl/vector/ Для совсем тупых: http://adorning.ru/2010/01/14/... iy-massiv/
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
19.11.2011, 17:28 | 11 |
int *st объявляет указатель.
st = (...) malloc(..) выделяет кучу памяти (шучу, память в куче) чтоб туда поместилось сколько надо целых значений. Ну и работаешь с этим st, как обычным целым массивом (st[0], st[1],... st[i]..st[n-1]) Когда st больше не нужен, говоришь ему free(st), память (целый блок, а не ячейка) освобождается Как-то так. На плюсах все эти механизмы остаются за кадром, но ИМХО, стоит понять как все это работает.
0
|
19.11.2011, 17:36 [ТС] | 12 | |||||
сделал так
пишет: vector subscript out of range
0
|
19.11.2011, 17:42 [ТС] | 14 | |||||
0
|
Заблокирован
|
|
19.11.2011, 17:43 | 15 |
Итак, ты прочитал инструкцию к применению?
Что делает метод reserve() ? Предлагаю тебе ещё раз перечитать инструкцию к применению. На этот раз более внимательно. Иногда, когда мальчики начинают совсем тупить, им помогают девочки: http://alenacpp.blogspot.com/2... or_30.html
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||
19.11.2011, 17:47 | 16 | |||||
Си
Выделяете память malloc или calloc, если надо перевыделить память то realloc Второй вариант Выделяете заведомо большой массив (то есть такого кол-во элементов в нем никогда не встретиться) например
0
|
Заблокирован
|
||||||
19.11.2011, 18:44 | 20 | |||||
Ты не можешь записывать по индексу 20. Потому что в массиве тупо нет элемента с таким индексом. Тоже самое и с векторами. Разница лишь в том, что вектора умеют на лету менять количество своих элементов. Когда ты только создал массив, он у тебя пуст. Прежде чем записать по 7 индексу что либо, тебе нужно сначала заполнить массив. Что бы у него вообще был элемент под таким индексом. Вектора позволяют резервировать память, или изначально создаваться с уже заданным количеством элементов. Но я ж не буду тебе все руководство к применению пересказывать. Обо всем об этом ты можешь почитать в 100500 разных источниках.
1
|
19.11.2011, 18:44 | |
19.11.2011, 18:44 | |
Помогаю со студенческими работами здесь
20
Безразмерный массив в VBA Безразмерный массив в структуре Не создается безразмерный массив char[] Как объявить безразмерный массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |