Witam ponownie, mam problem z sortowaniem babelkowym. Oto kod:
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
int ile, i, j, zm;
void sortowanie_b(int* tab, int ile)
{
do
{
int zm = 0;
for (int i = 0; i <= ile - 1; i++)
{
if (tab[i] < tab[i + 1])
{
zm = zm + 1;
int bufor;
bufor = tab[i];
tab[i] = tab[i + 1];
tab[i + 1] = bufor;
}
}
} while (zm != 0);
}
int main()
{
srand(time(NULL));
cout << "ile liczb wylosowac? ";
cin >> ile;
cout << endl;
int* tab;
tab = new int[ile];
for (i = 0; i <= ile - 1; i++)
{
tab[i] = rand() % 500 + 1;
cout << tab[i] << endl << endl;
}
sortowanie_b(tab, ile);
for (i = 0; i <= ile - 1; i++)
{
cout << tab[i] << endl;
}
delete[] tab;
return 0;
}
Raz sortuje, raz nie chce, raz aplikacja ma błąd. Rozpisałem kod na kartce i powinien chodzic bez problemu. Nie mam pojecie OCB.
file
bo tego czytać się nie da