Skocz do zawartości

Gnex

Członkowie
  • Postów

    1
  • Dołączył

  • Ostatnio

Posty napisane przez Gnex

  1. Witam!
    Napisałem program, który w domyśle miał sortować metodą bąbelkową. Jednak istnieje bardzo dziwny problem,którego nie mogę zlokalizować mianowicie dla dowolnych danych wejściowych np. 22, 21, 48 po posortowaniu wyrzuca wynik typu 3,21,22 albo 21,3,22 i nie mam bladego pojęcia czemu tak się dzieje.

    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    
    void BubbleSort(int tab[]);
    void Wyswietl(int tab[]);
    
    int main()
    {
        int iTab[3];
        cout << "Sortowanie babelkowe" << endl;
        cout << "Podaj 3 liczby: " << endl;
        for (int i = 0; i < 3; i++)
        {
            cin >> iTab[i];
        }
        cout << "Przed sortowaniem: " << endl;
        Wyswietl (iTab);
        cout << "Po sortowaniu: " << endl;
        BubbleSort(iTab);
        Wyswietl(iTab);
        return 0;
    }
    
    void BubbleSort(int tab[])
    {
        int n = sizeof(tab);
        int temp = 0;
        do {
            for (int i = 0; i < n-1; i++)
            {
                if (tab[i] > tab[i+1])
                {
                    swap(tab[i],tab[i+1]);
                    //temp = tab[i];
                    //tab[i] = tab[i+1];
                    //tab[i+1] = temp;
                }
            }
            n = n - 1;
        }while(n>1);
    }
    
    void Wyswietl(int tab[])
    {
        for (int i = 0; i < 3; i++)
        {
            cout << tab[i] << endl;
        }
    }
    

     

×
×
  • Utwórz nowe...