Problem polega na tym że zaimplementowany algorytm sortowania przez wstawianie (funkcja insertion_sort) działa poprawnie dla tablicy ze stałymi wartościami a nie działa (w moim przypadku
) dla tablicy z wartościami losowymi (tablica tau_1).
Kompilator żadnych błędów nie wywala a pisze program w Builderze ver 6.
Ma ktoś pomysł gdzie moze być błąd?
Poniżej fragment kodu.Załaczyłem też cały kod programu.
Kompilator żadnych błędów nie wywala a pisze program w Builderze ver 6.
Ma ktoś pomysł gdzie moze być błąd?
Poniżej fragment kodu.Załaczyłem też cały kod programu.
void insertion_sort(double x[],int length) //sortowanie przez wstawianie
{
int i,j;
double temp;
for(j=1;j<length;j++)
{
temp=x[j];
i=j-1;
while(x[i]>temp && i>=0)
{
x[i+1]=x[i];
i--;
}
x[i+1]=temp;
}
}
//-----------------------
srand(time(NULL));
double uni_dyst;
uni_dyst=(double)rand()/RAND_MAX;
if (uni_dyst==0)uni_dyst=0.0000000001 ;
double tau_1[6];
int k;
for (k=0;k<6;k++)
{
tau_1[k]=-r_DS_SMa*sigma_DS(epsilon_DS_SMa,mikro_DS_SMa)*log(uni_dyst);
StringGrid1->Cells[k+1][2]=AnsiString(tau_1[k]);
}
insertion_sort(tau_1,6);