• 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
55 wizyt
pytanie zadane 10 stycznia w C i C++ przez Mavannkas Obywatel (1,040 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 (110,640 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ź 85 wizyt
pytanie zadane 18 grudnia 2018 w C i C++ przez pysiek Początkujący (280 p.)
0 głosów
0 odpowiedzi 52 wizyt
0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 29 czerwca 2018 w Java przez lilianna97 Początkujący (270 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

64,021 zapytań

110,396 odpowiedzi

231,162 komentarzy

47,800 pasjonatów

Przeglądających: 163
Pasjonatów: 4 Gości: 159

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.

...