Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2017, 15:08   #31
olegla
Пользователь
 
Регистрация: 01.06.2017
Сообщений: 15
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
Код:
std::vector<std::shared_ptr<GameObject>> GroupGameObjectsByMaterial(std::vector<std::shared_ptr<GameObject>> gameObjects) //это будет копия оригинала
{
      std::sort(gameObjects.begin(), gameObjects .end(), Comp); 
       return gameObjects; //и возвращаем эту сортированую копию
}
препод посмотрел и сказал. что так нужно делать:
1 1 2 2 3 4 5 5
это у меня материалы после отсортировка
теперь мне надо пороскидать эти материалы по разным векторам
1 1
2 2
3
4
5 5
у меня как результат должен быть вектор векторов.
НО я не знаю как сделать. так как я могу векторы посоздавать, но я не знаю сколько нужно из. может Вы подскажите как сделать?
olegla вне форума Ответить с цитированием
Старый 07.06.2017, 17:04   #32
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

После сортировки запомнить 0 элемент в переменной. Дальше цикл по всем элементам, если равен запомненому - добавляем во временный вектор. Если конец цикла ИЛИ не равен запомненому, добавляем временный вектор в вектор-векторов, делаем временый вектор пустым, запоминаем текущее значение в переменную (заменяем исходный запомненый 0), добавляем текущее цикла в уже пустой временный вектор.
При конце цикла достаточно только запомнить временный вектор в вектор-векторов (если не пуст временный), остальное не нада.

Т.к. нужно будет проверять конец цикла, то эффективнее всего работать через индекс
for (size_t i = 0, sz = vector.size(); i < sz; ++I)
{
const auto& value = vector.at(i);
......
if (i == sz-1)
{
//конец цикла, запоминаем в вектор-векторов что бы там нибыло
}
}

Последний раз редактировалось alexzk; 07.06.2017 в 17:12.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хеш-таблица и хеш-функция. Проверка на ввод существующих данных F1nt Общие вопросы C/C++ 0 24.01.2014 09:52
Хеш таблица C++ Jirogirg Общие вопросы C/C++ 19 24.08.2012 22:15
хеш-таблица CHUCKe Помощь студентам 2 17.11.2010 23:30
ХЕШ-таблица iceman2112 Общие вопросы C/C++ 0 09.05.2010 13:07
Групировка значений и их сумма, но с условием psbad Microsoft Office Excel 23 19.11.2009 11:00