sortowanie vectora
Ostatnio zmodyfikowano 2014-03-27 01:57
adamek339 Temat założony przez niniejszego użytkownika |
sortowanie vectora » 2014-03-09 16:49:50 Hej:) Mam do napisanie taki program: Do pojemnika vector wczytaj interakcyjnie kilka-kilkanaście wierszy tekstu i posortuj je alfabetycznie ignorując wielkość liter (małe-duże); zapisz to w pliku. Napisałem już prawie cały program. Do sortowania vectora używam funkcji sort(), jednak nie wiem jak poradzić sobie z ignorowaniem wielkości liter. Wie ktoś może jak to rozwiązać? Z góry dziękuje za pomoc. #include <iostream> #include<vector> #include<string> #include <iterator> #include<algorithm> #include <fstream> using namespace std;
int main( int argc, char ** argv ) { int z; ofstream plik; vector < string > tab; string napis; do { cout << "Podaj wiersz:" << endl; getline( cin, napis ); tab.push_back( napis ); } while( napis != " " ); vector < string >::iterator w; cout << "Wektor przed sortowaniem: " << endl; for( w = tab.begin(); w != tab.end(); w++ ) { cout << * w << endl; } sort( tab.begin(), tab.end() ); cout << "Wektor po sortowaniu :" << endl; for( w = tab.begin(); w != tab.end(); w++ ) { cout << * w << endl; plik <<* w << endl; } plik.open( "wektor.txt" ); if( plik.good() == true ) { for( w = tab.begin(); w != tab.end(); w++ ) { plik <<* w << endl; } } else cout << "Uszkodzony plik:" << endl; plik.close(); cin >> z; return 0; }
|
|
Marekszuwarek |
» 2014-03-09 16:58:30 Skoro Program odbiera wszystko to może ni wkierowuj do funkcji sort liter wielkich czyli najpierw posortuj wielkie osobno-małe osobno później Wielkie zostaw i małe posortuj wpakuj to do chara i użyj biblioteki fstream. Nazwij plik jak ci się chce (nie wiem co to wektor :P) A potem na koniec wcisnij wielkie w charai zapisz tak jak napisałem wczesniej. |
|
adamek339 Temat założony przez niniejszego użytkownika |
» 2014-03-09 17:53:37 A możesz trochę doprecyzować? :)
|
|
pekfos |
» 2014-03-09 18:08:41 3. argument std::sort(), lub zmieniaj wszystkie duże litery na małe przed sortowaniem (std::transform() + std::tolower()) |
|
adamek339 Temat założony przez niniejszego użytkownika |
» 2014-03-09 18:33:49 Próbowałem tej drugiej opcji jednak później trzeba by zamienić znowu litery do pierwotnych rozmiarów z wczytywania. Możesz napisać coś więcej o trzecim argumencie funkcji sort? |
|
MrPoxipol |
» 2014-03-09 19:48:29 Niestandardowa funkcja porównująca, możesz o niej przeczytać w dokumentacji. |
|
michal11 |
» 2014-03-09 19:49:55 |
|
adamek339 Temat założony przez niniejszego użytkownika |
» 2014-03-10 12:24:07 A wie ktos jak użyć funkcji transform w taki sposób aby zmienić wielkość liter na małe tylko podczas sortowania? |
|
« 1 » 2 |