logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sortowanie alfabetyczne w C - wyjaśnienie fragmentu kodu

tofik1004 04 Sty 2015 16:44 729 4
REKLAMA
  • #1 14291031
    tofik1004
    Poziom 2  
    Posty: 2
    Witam mam program który rozumiem do momentu w którym sprawdza kolejność alfabetyczną wpisanych wartości do tablicy. Mógł by mi ktoś opisać co dokładnie dzieje się w pewnych liniach ?

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Chodzi mi dokładnie o ten fragment - nie rozumiem go

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Proszę o pomoc
  • REKLAMA
  • Pomocny post
    #2 14291325
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    strcmp to funkcja porównująca dwa ciągi tekstowe, a strcpy kopiuje. Cały algorytm to bąbelki.
  • REKLAMA
  • Pomocny post
    #3 14291396
    krru
    Poziom 33  
    Posty: 1819
    Pomógł: 230
    Ocena: 214
    Tzw sortowanie bąbelkowe polega na tym, że przegląda się tablicę z danymi i porównuje się dwa kolejne elementy tablicy i gdy ich kolejność jest nieprawidłowa zamienia się je miejscami. Przegląd całej tablicy należy powtarzać do skutku. Ponieważ za jednym przebiegiem jeden element trafia na swoje miejsce, to maksymalnie potrzeba tyle przebiegów ile elemntów na tablica - czyli algorytm się nie zapętli. Tutaj jest uproszczenie i zawsze wykonuje się maksymalną liczbę przebiegów. Algorytm jest bezpieczny tj. próba sortowania posortowanej tablicy nie popsuje jej.
    Zamiana wartości dwóch zmiennych wymaga użycia jednej zmiennej tymczasowej.
  • REKLAMA
  • Pomocny post
    #4 14291503
    Krzysztof Gustaw
    Poziom 23  
    Posty: 392
    Pomógł: 76
    Ocena: 32
    Witam!
    Po prostu dodam komentarze do skopiowanego fragmentu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    Czyli zamień ze sobą miejscami sąsiednie ciągi w tablicy.
    A teraz wpisz do któregoś z wierszy dokładnie 20 znaków i wywołaj program a zobaczysz co się stanie. Zastanów się dlaczego.
  • #5 14291745
    tofik1004
    Poziom 2  
    Posty: 2
    Bardzo dziekuję za wyjaśnienie - teraz wszystko rozumiem wszystkie odpowiedzi były dla mnie niezwykle pomocne.

    Dziękuję
REKLAMA