Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30

Возможно ли вложение контейнера array в контейнер vector?

14.07.2015, 15:00. Показов 2617. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мне надо в динамическом массиве хранить 3-х мерные координаты треугольников.
пытаюсь сделать вот так:



vector<array<float,9> > coordinates;
данная комбинация не работает.



как можно создать динамический массив на 9 чисел?

как можно обращаться к отдельным координатам - x1,y1,z1 и т.д

и как записывать значения в такой массив?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.07.2015, 15:00
Ответы с готовыми решениями:

Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list
Здравствуйте форумчане, может кто объяснить как делать это задание и что собственно мы тут вообще делаем. сам листинг 2.3 ниже ...

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

Очистка контейнера vector
Доброго времени суток господа программисты. У меня возникла дилемма. В общем, у меня есть вектор ...

29
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
14.07.2015, 15:37
Студворк — интернет-сервис помощи студентам
Dj_Crush,сделайте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vector>
#include <array>
#include <iostream>
 
int main()
{
std::vector<std::array<float, 9>> coordinates;
std::array<float,9> arr= {1.2, 3.3, 4.3 };
coordinates.push_back(arr );
 
std::cout << coordinates[0][0] << std::endl;
std::cout << coordinates[0][1] << std::endl;
std::cout << coordinates[0][2] << std::endl;
std::cout << coordinates[0][3] << std::endl;
return 0;
}
0
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
14.07.2015, 15:44  [ТС]
Error 2 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup d:\dll\Win32Project4\Win32Project4\MSVCR TD.lib(crtexew.obj) Win32Project4

а что это за ошибка?
приложение делаю не консольное....
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
14.07.2015, 15:46
Dj_Crush, ясно. С момента выхода VS 2013 вышло уже 4 ее обновления. Видимо версия не последняя.
Информация об обновлениях есть здесь: https://www.microsoft.com/en-u... x?id=44921

А пока что можно последовать совету выше.

Добавлено через 1 минуту
Цитата Сообщение от Dj_Crush Посмотреть сообщение
приложение делаю не консольное....
В неконсольном приложении функция main называется WinMain.
0
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
14.07.2015, 15:53  [ТС]
у меня как раз 4-е обновление.. получается самое последнее...

Добавлено через 28 секунд
точно...про функцию....

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <array>
#include <iostream>
#include <Windows.h>
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{
    std::vector<std::array<float, 9>> coordinates;
    std::array<float, 9> arr = { 1.2, 3.3, 4.3 };
    coordinates.push_back(arr);
 
    std::cout << coordinates[0][0] << std::endl;
    std::cout << coordinates[0][1] << std::endl;
    std::cout << coordinates[0][2] << std::endl;
    std::cout << coordinates[0][3] << std::endl;
    system("pause");
    return 0;
}
но она ничего не выдает...только "нажмите любую клавишу"... где опять ошибка?
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
14.07.2015, 15:56
Цитата Сообщение от Dj_Crush Посмотреть сообщение
но она ничего не выдает...только "нажмите любую клавишу"... где опять ошибка?
Ошибки нет.
Просто консольное окно в неконсольном приложении не создается. Вот и вывода не видно.
Создай консольное приложение и увидишь вывод.
0
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
14.07.2015, 16:00  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <array>
#include <vector>
#include <iostream>
 
 
int main()
{
    std::vector<std::array<float, 9>> coordinates;
 
    coordinates.push_back({1.2, 3.3, 4.3});
 
    std::cout << coordinates[0][0] << std::endl;
    std::cout << coordinates[0][1] << std::endl;
    std::cout << coordinates[0][2] << std::endl;
    std::cout << coordinates[0][3] << std::endl;
}
а почему эта не компилируется.. vs 2013 4-е обновление...
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
14.07.2015, 16:04
Цитата Сообщение от Dj_Crush Посмотреть сообщение
а почему эта не компилируется.. vs 2013 4-е обновление...
Ну если все так, как ты говоришь, то диагностировать по фотографии у меня больше нет возможности. Нужно смотреть пациента лично. Так что пока не знаю.

Может кто угадает еще, подожди других ответов.
0
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
14.07.2015, 16:10  [ТС]
спасибо.. заработала..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <array>
#include <iostream>
 
 
int main()
{
    std::vector<std::array<float, 9>> coordinates;
 
    coordinates.push_back({ 1.2, 3.3, 4.3 });
 
    std::cout << coordinates[0][0] << std::endl;
    std::cout << coordinates[0][1] << std::endl;
    std::cout << coordinates[0][2] << std::endl;
    std::cout << coordinates[0][3] << std::endl;
 
    system("pause");
}
но почему-то точка coordinates.push_back подчеркнута...она ее определяет как ошибку...но компилируется.

1 IntelliSense: no instance of overloaded function "std::vector<_Ty, _Alloc>:ush_back [with _Ty=std::array<float, 9U>, _Alloc=std::allocator<std::array<float, 9U>>]" matches the argument list
argument types are: ({...})
object type is: std::vector<std::array<float, 9U>, std::allocator<std::array<float, 9U>>>
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
14.07.2015, 16:14
Цитата Сообщение от Dj_Crush Посмотреть сообщение
но почему-то точка coordinates.push_back подчеркнута...она ее определяет как ошибку...но компилируется.
А вот в чем дело
Ну так это ошибка IntelliSense, а не компилятора. Наблюдаешь как раз тот случай, когда компилятор развивается быстрее, чем внешнее средство диагностики исходных кодов.
В общем тут все просто. IntelliSense просто еще не до конца обучен новому С++ и ошибочно трактует эту запись как ошибку.
0
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
14.07.2015, 16:21  [ТС]
я так понял что с координатами треугольника удобнее через структуру работать?
там их можно подписать x1,y1,z1...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2015, 16:21

Вывод типа элемента контейнера из итератора на контейнер
У меня есть шаблонная функция которая принимает итератор на начало и конец контейнера контейнеров, я хочу создать в теле функции pair с...

Контейнер отображающейся после абсолютно позиционированного контейнера
Можно ли так сделать? Структура сайта такая что есть 5 контейнеров на страничке которые невидимые opacity: 0; и есть 5 табов(вкладок)...

Ошибка использования контейнера array
Задание:Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии - количество этих...

контейнер vector
Как я понимаю, vector представляет собой что-то вроде динамического массива. Но массивы бывают одномерные,двумерные и так далее. Есть ли...

Обработка STL контейнера vector
Текст дан в виде вектора. Отсортировать элементы этого вектора и превратить на два списка так, чтобы в первом были только те элементы,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru