остортировать элементы(строки) этого вектора в цикле для вывода sort(strs[i].begin(), strs[i].end()). что не так?
Без [i]
не совсем правильно выразился я ) всем привет. есть вектор строк vector <string> strs; не могу остортировать элементы(строки) этого вектора в цикле для вывода sort(strs[i].begin(), strs[i].end()). что не так? к примеру вектор ["sb", "cb] нужно получить ["bs", "bc"]
Я тебя понял с первого раза. Я и сказал: std::sort(strs.begin(), strs.end()). Какой ещё цикл, спрашивается. И да, у тебя в "нужно получить" порядок неправильный
показывай код, должно работать
Ему нужно символы в строках сортировать, а не строки в векторе
vector <string> strs; string temp; while (cin >> temp) { strs.push_back(temp); } for (int i = 0; i < strs.size(); ++i) { cout << sort(strs[i].begin(), strs[i].end()) << "###"; } cout << "\nt";
А что возвращает std::sort? :)
sort(..); cout << strs[i] << "###"
std::sort как я понял сортирует "на месте", т.е после вызова аргументы изменяются. есть ли сортировка которая не меняет значения а возвращает осторитрованную последовательность?
Насколько я знаю нет, но написать несложно
Скопировать и сортировать на месте уже предлагали?
так и придеться наверно сделать)
Обсуждают сегодня