Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

sortowanie vectora

Ostatnio zmodyfikowano 2014-03-27 01:57
Autor Wiadomość
Adik80
» 2014-03-10 13:41:29
Mozesz np przekazac do funkcji przez warosc:
C/C++
bool cmp( std::string s1, std::string s2 )
{
    transform( s1.begin(), s1.end(), s1.begin(),::tolower );
    transform( s2.begin(), s2.end(), s2.begin(),::tolower );
    return s1 < s2;
}

...

std::sort( tab.begin(), tab.end(), cmp );
P-105986
adamek339
Temat założony przez niniejszego użytkownika
» 2014-03-10 17:49:20
Działa :) Wielkie dzięki za pomoc wszystkim.
P-106019
adamek339
Temat założony przez niniejszego użytkownika
» 2014-03-26 13:58:56
A mógłby mi ktoś wytłumaczyć rolę "::"  przed funkcją tolower?

transform( s1.begin(), s1.end(), s1.begin(),::tolower );
P-107219
michal11
» 2014-03-26 17:18:58
Po 1. to z tego co napisałeś nie wynika, ze to funkcja.
Po 2. Najprawdopodobniej czegoś tam brakuje bo "::" to operator zakresu.
P-107231
Monika90
» 2014-03-26 17:38:34
Po 1. to z tego co napisałeś nie wynika, ze to funkcja.
ale ze standardu wynika, że to funkcja
Po 2. Najprawdopodobniej czegoś tam brakuje bo "::" to operator zakresu.
No właśnie, to jest operator zakresu. Co w tym przypadku oznacza odwołanie do nazwy tolower pochodzącej z globalnej przestrzeni nazw. A powinno to być std::tolower, ponieważ #include <cctype> nie gwarantuje, że tolower będzie w globalnej przestrzeni nazw, gwarantuje tylko, że będzie w std.
P-107236
michal11
» 2014-03-27 01:57:31
@Monika90
Ja wiem, ze to funkcja ale z tego co jest napisane wcale to nie wynika tylko  oto mi chodzi o błąd zapisu.
P-107269
1 « 2 »
Poprzednia strona Strona 2 z 2