Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменное число в структуре ? 
:(
    Опции темы
Remiznik
Дата 2.4.2009, 16:37 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



извените если назвал тему не правельно просто незнаю как правельно сформировать вопрос поробую в тебе обьяснить чего хочу получить !

хочу использовать структуру с переменым числом массива ?

вот как у меня здела но для статичекого числа !
Код

struct ChStr
 {
    int ch[8]; // статически масив а нужно динамический
 };
  vector<ChStr> temp;


попробую пояснить на словах !
я до запуска програмы незнаю сколько мне понадобиться ch  в масиве tmp! думаю нужно использовать динамический массив но как это реализовать незнаю !
PM MAIL   Вверх
mes
Дата 2.4.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Remiznik @  2.4.2009,  15:37 Найти цитируемый пост)
struct ChStr
 {
    int ch[8]; // статически масив а нужно динамический
 };
  vector<ChStr> temp;


а почему бы не написать просто :

Код

vector<string> ..
или
vector<vector<int> > .. 





--------------------
PM MAIL WWW   Вверх
andrew_121
Дата 2.4.2009, 16:58 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



mes, Наверняка потребуется разъяснение )))


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
InvalidProperty
Дата 2.4.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 31.10.2007
Где: Россия, Казань

Репутация: 2
Всего: 9



чувак, ужас, я просто по-русски даже не понял, чего ты хочешь. Объясни, плиз, нормально, хотя бы по-английски


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
Remiznik
Дата 2.4.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



да разяснения былибы очень полезны )) если не трудно ?)
PM MAIL   Вверх
mes
Дата 2.4.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(andrew_121 @  2.4.2009,  15:58 Найти цитируемый пост)
mes, Наверняка потребуется разъяснение ))) 

я исходил из того, что в коде тс уже использован vector


--------------------
PM MAIL WWW   Вверх
Remiznik
Дата 2.4.2009, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



Цитата(mes @ 2.4.2009,  17:09)
Цитата(andrew_121 @  2.4.2009,  15:58 Найти цитируемый пост)
mes, Наверняка потребуется разъяснение ))) 

я исходил из того, что в коде тс уже использован vector

 да извени с vector<vector<int>>  я понял !

меня просто смутила vector<string> вот этого я не понял )


а так спасибо будем работать =)
PM MAIL   Вверх
Anikmar
Дата 2.4.2009, 17:17 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Если я правильно понял ТС, то ему нужен вектор в структуре. Тогда нужна не структура, а полноценный класс с конструктором/деструктором - и вперед. А затем уже массив таких структур (классов).

В общем-то структура от класса вроде как принципиально ничем не отличается, но классы как-то благозвучнее что-ли.
PM MAIL ICQ   Вверх
andrew_121
Дата 2.4.2009, 17:23 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Anikmar, Будем тихо гадать... smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
mes
Дата 2.4.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Remiznik @  2.4.2009,  16:16 Найти цитируемый пост)
меня просто смутила vector<string> вот этого я не понял )

string это тоже своебразный динамический массив, как и вектор только несет семантику строки.
Написал два варианта так как
1.  название структуры было ChStr и поле называлось ch 
2.  элемент поля был типа int

Цитата(Anikmar @  2.4.2009,  16:17 Найти цитируемый пост)
Если я правильно понял ТС, то ему нужен вектор в структуре. Тогда нужна не структура, а полноценный класс с конструктором/деструктором - и вперед.

смысла в структуре оболочке я не вижу, но если нужно то
Код

struct ..
{
   vector <int> ch;
};

Но вот для чего тут делать полноценный класс с конструкторами ?  smile 


Это сообщение отредактировал(а) mes - 2.4.2009, 17:32


--------------------
PM MAIL WWW   Вверх
Anikmar
Дата 2.4.2009, 17:32 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(andrew_121 @  2.4.2009,  17:23 Найти цитируемый пост)
Anikmar, Будем тихо гадать...   

Нет. Давайте гадать громко!  smile  smile  smile  smile 
PM MAIL ICQ   Вверх
azesmcar
Дата 2.4.2009, 17:34 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



скорее всего вектор и нужен, но на всякий случай спрошу smile
Код

template <int T>
struct ChStr
{
    int ch[T];
};

ChStr<5> t1;
ChStr<15> t2;

может это нужно?

PM   Вверх
Anikmar
Дата 2.4.2009, 17:35 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(mes @  2.4.2009,  17:31 Найти цитируемый пост)
Но вот для чего тут делать полноценный класс с конструкторами ?   

Ну для вектора в принципе не надо. Просто если заранее размер известен (пусть для каждой структуры он будет разный) - то можно сразу задать размер вектора в конструкторе - вдруг там элементов много, чтобы не заставлять вектор многократно пухнуть.

А если размер потом и меняться не будет - то и без вектора можно обойтись (чтобы читалось легче)  smile

Добавлено через 1 минуту и 39 секунд
Цитата(azesmcar @  2.4.2009,  17:34 Найти цитируемый пост)
может это нужно?

А если размер известен только в процессе выполнения программы?
PM MAIL ICQ   Вверх
Remiznik
Дата 2.4.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



здела вот так !
Код

struct t
{
        vector<int> chn;
};
    
vector< t > tmp;


вопрос в том это правельно и как мне в нутри программы менять chn ?

Это сообщение отредактировал(а) Remiznik - 2.4.2009, 17:49
PM MAIL   Вверх
andrew_121
Дата 2.4.2009, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Remiznik @  2.4.2009,  17:48 Найти цитируемый пост)
vмector<int> chn;

 smile  smile  smile  smile  И что, правда компилиться?  smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
mes
Дата 2.4.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Remiznik @  2.4.2009,  16:48 Найти цитируемый пост)
вопрос в том это правельно и как мне в нутри программы менять chn ?

Код

tmp.resize (5);
tmp[0].chn.push_back(1);
tmp[0].chn.push_back(3);

это же  для vector<vector<int> > tmp; будет :

Код

tmp.resize (5);
tmp[0].push_back(1);
tmp[0].push_back(3);

ну и на всякий случай как работать с вектором : http://www.cplusplus.com/reference/stl/vector/

Это сообщение отредактировал(а) mes - 2.4.2009, 17:53


--------------------
PM MAIL WWW   Вверх
Remiznik
Дата 2.4.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



mes, согласен я дурак ... попробую исправиться )
PM MAIL   Вверх
azesmcar
Дата 2.4.2009, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата

А если размер известен только в процессе выполнения программы? 


значит решение не подойдет. Это возможный вариант. 
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.