Sortowanie dwuwymiarowego vectora stringów

0

Witam, chcę użyć funkcji sort

Wywołuję funkcję w ten sposób

sort(wplaty[klucz].begin(),wplaty[klucz].end(),cmp);

Napisałem własny cmp:

bool cmp(string a, string b ) {
   if (a.size() < b.size())
   {
      return true;
   }
   
   if (a.size() > b.size())
   {
        return false;
   }
   
   if (a > b)
   {
         return false;
   }else
   {
        return true;
   }
                
   
} 
                
   
} 

Niestety program się wiesza, a ja nie bardzo wiem jak zrobić poprawnie cmp. Kto ma jakiś pomysł, żeby to działało?

0

chcesz posortowac wierszami czy cala macierz? Trzeba pamietac ze w dwuwymiarowym vectorze kazda kolumna to tak naprawde kolejny vector czyli mamy vector w vectorze, wiec przy dodawaniu elementow trzeba niejako dodawac vectory. Zaraz sprawdze sortowanie w swoim programie z macierzami.

0

Chcę posortować w wierszach, tzn np jak mam:
1 kot ala tata
3 mama tata

to po wykonaniu dostanę coś takiego:
1 ala kot tata
3 mama tata

0

No to nie wiem do konca czy sortem, bo tutaj sortujesz tak naprawde wyrazami. Musisz chyba wlasna implementacje zrobic. Bierzesz caly wyraz do spacji i sortujesz potem nastepny i do konca wiersza. Sort troche inaczej dziala. Poza tym na 2 wymiarowym wektorze nie wiem czemu ale tab[0].end() nie dziala begin tez nie.

0

Temat do zamknięcia. Poradziłem sobie w inny sposób.

1
sliski napisał(a)

Temat do zamknięcia. Poradziłem sobie w inny sposób.

jeśli masz problem, z którym przychodzisz na forum i udaje ci się rozwiązać to przynajmniej osobom (skoro ogół cie nie interesuje), które udzieliły się we wątku należy się informacja jak rozwiązałeś dany problem. Wydawało mi się, że kultura tego wymaga.

1 użytkowników online, w tym zalogowanych: 0, gości: 1