Mam taki oto problem po przesortowaniu tablicy double nie mogę zliczyć liczby zer w tej tablicy z innymi liczbami nie mam problemu zliczane są w porządku, w czym może być problem? Jest to klasyczna metoda sortowania muszelkowego oto kod:
-----Klasyczny przykład metody sortowania typu muszelkowego-----
VOID sortowanie(DOUBLE *pol2, DWORD n)
{
DWORD gap, i, j,k,l;
DOUBLE temp;
LPSTR Bufor_2 = (LPSTR)malloc(sizeof(CHAR)*100);
k=0;
l=0;
for(gap=n/2; gap>0; gap /=2){
for(i=gap; i<n; i++){
for(k=i-gap; k>=0 && pol2[k] > pol2[k+gap]; k -= gap){
temp=pol2[k];
pol2[k]=pol2[k+gap];
pol2[k+gap]=temp;
}
}
}
for(k=0; k<n; k++){
if(pol2[k]==0.00){
l++;
}
}
sprintf(Bufor_2,"%d",l);
MessageBox(NULL, Bufor_2 , "Błąd", MB_ICONERROR);
}
Wynikiem działania tej funkcji jest l=0, pomimo tego że tablica zawiera zerowe elementy, co ciekawe przed przesortowaniem jak sprawdzę tą pętlą for tablicę to zwraca liczbę zer czyli coś jest nie tak w czasie sortowania ale co? Będę wdzięczny za każdą sugestię.