• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wskaźniki c++ sortowanie

0 głosów
64 wizyt
pytanie zadane 10 stycznia w C i C++ przez Mavannkas Obywatel (1,090 p.)
void sortuj (int * start, int * end )
{
    int c;
    int * a = start;
    bool fl;
    for(;!fl;start = a)
    {
        end--;
        
        fl=true;
            for(;start<end;start++)
            {
                if(*start>*(start+1))
                {
                  c=*start;
                    *start=*(start+1);
                    *(start+1)=c;
                    fl=false;
                }
            }
    }
}
void sortuj (int * start, int * end )
{

    int * a = start;
    bool fl;
    int c,i=0;
    for(;!fl;start = a)
    {
        i++;
        fl=true;
            for(;start<end-i;start++)
            {
                if(*start>*(start+1))
                {
                  c=*start;
                    *start=*(start+1);
                    *(start+1)=c;
                    fl=false;
                }
            }
    }
}

Moim problemem jest to że nie rozumiem dlaczego w pierwszym fragmencie wszystko dobrze działa i się sortuje a w drugim funkcja nie działa poprawnie a jedyną zmianą jest sposób zapisu zmniejszania wskaźnika end. Mógłby mi to ktoś wytłumaczyć?

 

1 odpowiedź

0 głosów
odpowiedź 10 stycznia przez RafalS VIP (115,400 p.)

Będzie działać losowo w obu przypadkach, bo sprawdzasz wartość niezainicjalizowanej zmiennej:

bool fl;
for(;!fl;start = a)

Poza tym na moje oko nie ma różnicy.

Podobne pytania

0 głosów
1 odpowiedź 96 wizyt
pytanie zadane 18 grudnia 2018 w C i C++ przez pysiek Początkujący (280 p.)
0 głosów
1 odpowiedź 44 wizyt
pytanie zadane 25 sierpnia w C i C++ przez martin1724 Użytkownik (630 p.)
0 głosów
0 odpowiedzi 62 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

67,231 zapytań

114,191 odpowiedzi

242,029 komentarzy

45,639 pasjonatów

Przeglądających: 156
Pasjonatów: 2 Gości: 154

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...