Sortowanie alfabetyczne

2011-12-28 14:50

Rejestracja: 8 lat temu

Ostatnio: 8 lat temu

0
 struct T_baza 
{
    int pozycja;
    char nazwisko[30];
    char imie[30];
    char nr_rejestracyjny[10];
    char marka[30];
    char model[30];
    int rok_produkcji;
};
            do
            {
                for (int i=0; i<liczba_elementow-1; i++)
                {
                    string a=baza2[i].nazwisko;
                    string b=baza2[i+1].nazwisko;
                    if (a > b)
                    {
                        swap=baza2[i];
                        baza2[i]=baza2[i+1];
                        baza2[i+1]=swap;
                    }
                }
                liczba_elementow--;
            }
            while (liczba_elementow>1);

Jak posortowac tablice wg. nazwisk? Gdy porownuje stringi a i b jest blad.

 error C2784: 'bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::string'
edytowany 1x, ostatnio: Woniak, 2011-12-28 14:51

Pozostało 580 znaków

2011-12-28 14:59
Moderator

Rejestracja: 12 lat temu

Ostatnio: 9 godzin temu

0

Po co pisać własne jak są gotowe rozwiązania?

std::sort(baza2, baza2 + liczba_elementow, [](T_baza& a, T_baza& b){return strcmp(a.nazwisko, b.nazwisko);});

Tyle, że to nie jest alfabetyczne. - somekind 2011-12-28 15:42
Przyjąłem, że wszystkie nazwiska są z dużej litery oraz nie zawierają polskich znaków. - hauleth 2011-12-28 15:52

Pozostało 580 znaków

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