std::sort(v.begin(), v.end(), [](auto const& l, auto const& r){ return std::stoi(l.at(1)) < std::stoi(r.at(1)); }); jeśli VS nie wspiera polymorphic lambdas:
@KrzaQ2: Nie działa jednak to co podesłałeś. Dalej dostaję błąd out of range.
@saracenxc: Koedy korzystam z Twojego rozwiązania to na Twoim wektorze działa, a na moim już gotowym (na którym wykonywałem już inne operacje i działały). Nie
@KrzaQ2: Dobra już wszystko rozumiem. mój vector> był ładowany z pliku txt i po prostu ostatnia linijka była pusta. Więc faktycznie brakowało elementu i sortowanie się sypało.
Mam wektor wektorów w którym przechowuje stringi
vector > aaa
w tam mam
aaa 1 bbb ccc ddd ....
bbb 2 bbb ccc ddd ....
ddd 7 bbb ccc ddd ....
na drugiej pozycji mam jakieś liczby
Chciałbym żeby to wszystko było posortowane według liczb na 2 pozycji - bez zmiany innych rzeczy. Da sie coś takiego zrobić? Czego użyć?
v:std::sort(v.begin(), v.end(), [](auto const& l, auto const& r){ return std::stoi(l.at(1)) < std::stoi(r.at(1)); });jeśli VS nie wspiera polymorphic lambdas:
std::sort(v.begin(), v.end(), [](std::vector const& l, std::vector const& r){ return std::stoi(l.at(1)) < std::stoi(r.at(1)); });Zaraz sprawdzę
No kod ten ostatni też mi nie
athttp://wklej.to/en9CN
Teraz wszysto dobrze
@KrzaQ2: Nie działa jednak to co podesłałeś. Dalej dostaję błąd out of range.
@saracenxc: Koedy korzystam z Twojego rozwiązania to na Twoim wektorze działa, a na moim już gotowym (na którym wykonywałem już inne operacje i działały).
Nie
Dobra już wszystko rozumiem.
mój vector> był ładowany z pliku txt i po prostu ostatnia linijka była pusta. Więc faktycznie brakowało elementu i sortowanie się sypało.
Bardzo dziękuję Wam za pomoc.