Witam! W odcinku pod tytułem Sortowanie. Złożoność algorytmów zrobiłem sortowanie bąbelkowe. Mam pewien problem. Jak chcę posortować 6, 8, 9, (lub więcej liczb) to zawsze ta największa zamienia się w jakieś 20000 pomimo że losuję liczby do 5. Wyskakuje mi też na Windowsie error APPCRASH. Przy np 10000 liczbach normalnie już sortuje...
#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
int ile, n, brufor;
clock_t start, stop;
double czas;
void sortowanie_babelkowe(int *tab, int n, int zmienna)
{
for(int i=0; i<=n; i++)
{
for(int j=0; j<=n; j++)
{
if(tab[j]>tab[j-1])
{
int zmienna = tab[j-1];
tab[j-1] = tab[j];
tab[j] = zmienna;
}
}
}
}
int main()
{
cout << "Ile liczb losowych ma byc w tablicy?: ";
cin >> ile;
int *tablica;
tablica = new int [ile];
srand(time(NULL));
for(int i=0; i<ile; i++)
{
tablica[i] = rand()%5+1;
//cout << tablica[i] <<endl;
}
cout <<"Przed sortowaniem: "<<endl;
for(int i=0; i<ile; i++)
{
cout << tablica[i] <<endl;
}
cout <<"Sortuje teraz babelkowo! Prosze czekac!"<<endl;
start = clock();
sortowanie_babelkowe(tablica, ile, brufor);
stop = clock();
czas = (double)(stop-start) / CLOCKS_PER_SEC;
for(int i=0; i<ile; i++)
{
cout << tablica[i] <<endl;
}
cout <<endl<<"Wykonanie zajelo: "<<czas<<" s"<<endl;
delete [] tablica;
return 0;
}