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

vector объектов структуры - C++

Восстановить пароль Регистрация
 
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
29.01.2013, 06:38     vector объектов структуры #1
Здравствуйте господа програмисты,возникла у меня трудность,в програмке будет присутствовать неизвестное заранее количество координат максимум где-то под 2000-2500(8 integer на объект).Но в большинстве случаев будут использоваться всего 30-100 и было у меня в мыслях уже писать массив объектов структуры на 2500 персон да вот попалась на глаза книга по STL а там пречудесный вещ vector.
Тока обрадовался я раньше времени в vector оказывается вхожи лишь объекты с пустым конструктором.
А в чём всё-таки смысл если нельзя передать свойства объекту структуры в векторе?
У меня пока остаётся 2 варианта:либо лепить 8 векторов(на каждую координату)либо стандартный массив на максимум объектов.
Может подскажете вариант повеселее?

Добавлено через 2 минуты
видел на форуме пример такого рода
C++
1
2
3
4
vector <tovar*> tovar_list; //лучше-таки  указатели
tovar tr;
tovar_list.push_back(&tr);
tovar_list[0]->name = "orange";
но лезть в динамическое распределение памяти очень не хочется
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LASpace
 Аватар для LASpace
34 / 34 / 3
Регистрация: 27.01.2013
Сообщений: 142
29.01.2013, 11:37     vector объектов структуры #2
Структура для координат:
C++
1
2
3
4
struct coordinate
{
    int X1,X2,X3,X4,X5,X6,X7,X8;
};
Чудо код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    
vector <coordinate> H;
coordinate ST1;
 
ST1.X1 = 1;
H.push_back(ST1);
 
ST1.X1 = 8;
H.push_back(ST1);
 
ShowMessage(IntToStr(H[0].X1));//Выдаст 1
ShowMessage(IntToStr(H[1].X1));//выдаст 8
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
29.01.2013, 12:02     vector объектов структуры #3
Цитата Сообщение от ijonhson Посмотреть сообщение
Тока обрадовался я раньше времени в vector оказывается вхожи лишь объекты с пустым конструктором.
Почему же?
C++
1
vector_name.push_back(class_name(param1, param2));
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
29.01.2013, 23:18  [ТС]     vector объектов структуры #4
спасибо вроде разобрался единственный вопрос:
заполняю элемент массива, но вместо введённых значений там какой-то мусор может глянете?
в classesij.cpp создан vector объектов далее заполнено 0-вой объект и выведено значение 0-го шовмессаджем ерись одним вловом
Вложения
Тип файла: rar IJокна.rar (455.7 Кб, 6 просмотров)
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
29.01.2013, 23:57     vector объектов структуры #5
C++
1
2
3
4
5
6
7
8
massive::massive(int xl,int yl,int x1l,int y1l,int lrtbl)//конструктор класса массива объектов
{
xl=x; // тут и далее надо присваивать наоборот
yl=y;
x1l=x1;
y1l=y1;
lrtbl=lrtb;
}
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
30.01.2013, 00:57  [ТС]     vector объектов структуры #6
Спасибо я догадывался что где-то детская ошибка но глаз ещё не намётан.
migtymasha
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 11
19.05.2013, 20:07     vector объектов структуры #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct coord
    {
        double x,y;
    };
    vector<coord> v1(4);
    for (int i=0; i<4; i++)
    {
        double x,y;
        cout<<"Введите координаты "<<i<<"ой точки первого множества: ";
        cin>>x>>y;
        cout<<endl;
        coord tochka;
        tochka.x=x;
        tochka.y=y;
        v1.push_back(tochka);
    };
у меня похожая проблема( можете подсказать, где ошибка? в процессе компиляции никаких ошибок не выскакивает, но в tochka не запоминаются данные, а в вектор и тем более..
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
19.05.2013, 20:11     vector объектов структуры #8
как проверяли?
migtymasha
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 11
19.05.2013, 20:16     vector объектов структуры #9
точку остановы ставила около цикла
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.05.2013, 20:42     vector объектов структуры #10
Цитата Сообщение от migtymasha Посмотреть сообщение
vector<coord> v1(4);
заменить на
vector<coord> v1;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 21:47     vector объектов структуры
Еще ссылки по теме:

Sort vector, сортировка по двум полям структуры C++
C++ Авиаперелеты, вывод объектов структуры
C++ Удаление объектов структуры из файла по условию

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

Или воспользуйтесь поиском по форуму:
migtymasha
1 / 1 / 0
Регистрация: 13.05.2013
Сообщений: 11
19.05.2013, 21:47     vector объектов структуры #11
I.M., спасибо) стало лучше, правда теперь неправильно считает расстояние между точками, но хоть как-то считает)

Добавлено через 6 минут
I.M., можете сказать, правильно ли написано?

C++
1
2
3
4
5
6
7
for(int i=0; i<4; i++)
    {
        for (int j=i+1; j<4; j++)
        {
            m[i][j]=sqrt(pow(v1[i].x-v1[j].x,2)+pow(v1[i].y-v1[j].y,2));
        };
    };
Добавлено через 43 минуты
все норм, это я дебил)
Yandex
Объявления
19.05.2013, 21:47     vector объектов структуры
Ответ Создать тему
Опции темы

Текущее время: 18:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru