Sortowanie napisów w klasie vector
Ostatnio zmodyfikowano 2017-08-14 22:34
mrukat990 Temat założony przez niniejszego użytkownika |
Sortowanie napisów w klasie vector » 2017-08-14 20:10:15 Piszę program, który w pętli wczyta ze standardowego wejścia (klawiatury) tekst . Każda linijkę tekstu ma być w tablicy implementowanej przez klase vector , w takim miejscu aby tablica była posortowana po zakończeniu wpisywania. Przed zakończeniem programu ma być wypisana wypisz zawartość tablicy. Do przechowywania zmiennych tekstowych używam klasy string. Na razie napisałem coś takiego, ale nie wiem jak wpisywać w odpowiednie miejsce (sortowanie). #include <iostream> #include <vector> #include <string> #include <conio.h> #include <algorithm>
using namespace std; class napis { public: string tekst; napis( string xtekst ); };
int main() { vector < napis > osoba; cout << "Teksty\n1.-Lista tekstow \n2.-Dodaj tekst \n3.-Wyjscie" << endl; char odp; do { odp = getch(); switch( odp ) { case '1': cout << "\n\n\nLista osob:\n"; for( int i = 0; i < osoba.size(); i++ ) { cout << endl; cout << "Nazwa: " << osoba[ i ].tekst << endl; } break; case '2': cout << "\n\n\n|----DODAWANIE_OSOBY_DO_LISTY-----|"; cout << "\nPodaj tekst: "; string odp_tekst; cin >> odp_tekst; osoba.push_back( napis( odp_tekst ) ); cout << "\n<***ZAKONCZONO_Z_SUKCESEM***>"; break; } } while( odp != '3' ); return 0; }
napis::napis( string xtekst ) : tekst( xtekst ) { }
|
|
mateczek |
» 2017-08-14 22:09:21 stringi c++ stl potrafi sam sortować. #include <iostream> #include <string> #include<algorithm> #include<vector>
using namespace std; int main() { vector < string > tablica { "kot", "tygrys", "ala" }; sort( tablica.begin(), tablica.end() ); for( int i = 0; i < tablica.size(); i++ ) { cout << tablica[ i ] << endl; } } natomiast jeśli do funkcji sort chcesz przekazać obiekty klasy własnej to musisz wyposażyć klasę w przeładowany operator "<" (lub dostarczyć funkcję, która będzie w stanie twoje obiekty porównać) |
|
mrukat990 Temat założony przez niniejszego użytkownika |
» 2017-08-14 22:34:10 Wielkie dzieki za pomoc! |
|
« 1 » |