porównywanie liczb double

0

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ę.

0

Nie czytajac kodu...
http://edu.i-lo.tarnow.pl/inf/utils/001_2008/0119.php
O takich rzeczach warto wiedziec ;p

1 użytkowników online, w tym zalogowanych: 0, gości: 1