Sortowanie linii w pliku(string)

0

Mam za zadanie posortować linie w pliku(dni tygodnia) i choć czytałem wiele podobnych postów na różnych forach to jednak nadal nie potrafię rozwiązać tego problemu. Zastanawiałem się , czy nie zastosować sortowania bąbelkowego z if, ale każda moja próba kończy się fiaskiem.

0

Podziel sobie zadanie na mniejsze porcje i każdą spróbuj wyszukać osobno

  • jak wczytać zawartość pliku do kontener?
  • jak posortować zawartość kontenera?
  • jak zapisać zawartość kontenera do pliku?
0

Obecnie jedynie udało mi się z jednego pliku stworzyć kilka z tym wyjątkiem, że każdy nowy plik ma dane ułożone chaotycznie. Z tego co czytałem muszę stworzyć osobną funkcję, która zajmie się tylko sortowaniem? Nie wiem tylko jak.

struct dane                  
{
    string godzina;
    string dzien;
    string grupa;
    string nazwisko;
    string przedmiot;
    dane* nast;
};
typedef dane* lista;
lista glowa = NULL;
lista wsk = NULL;
void dodawanie(lista& glowa, string godzina, string dzien, string grupa, string nazwisko, string przedmiot) 
{
    glowa = new dane;
    glowa->godzina = godzina;
    glowa->dzien = dzien;
    glowa->grupa = grupa;
    glowa->nazwisko = nazwisko;
    glowa->przedmiot = przedmiot;

    glowa->nast = wsk;
    wsk = glowa;

};
void zapisz(lista glowa)
{

    lista kolejny;
    kolejny = glowa;
    while (kolejny != NULL)
    {
        fstream plik_wyjsciowy;
        plik_wyjsciowy.open(kolejny->nazwisko + ".txt", ios::out | ios::app);
        plik_wyjsciowy << kolejny->godzina << " ";
        plik_wyjsciowy << kolejny->dzien << " ";
        plik_wyjsciowy << kolejny->grupa << " ";
        plik_wyjsciowy << kolejny->przedmiot << endl;
        kolejny = kolejny->nast;
    }
    cout << "\n";
0
kitle napisał(a):

Obecnie jedynie udało mi się z jednego pliku stworzyć kilka z tym wyjątkiem, że każdy nowy plik ma dane ułożone chaotycznie. Z tego co czytałem muszę stworzyć osobną funkcję, która zajmie się tylko sortowaniem? Nie wiem tylko jak.

Nie musisz pisać własnej listy, bo jest już gotowa (std::list), nie musisz pisać własnego sortowania, bo jest już gotowe (lista ma metodę sort, dla innych kontenerów jest std::sort). Spróbuj tego poszukać i użyć.

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