mm-kk(to_wytnij)\"@(to_wytnij)o2.pl
11/24/2006 6:59:00 PM
Witam!
Od razu zaznaczam, ?e jestem bardzo pocz?tkuj?cy, gdy? dopiero ucze sie
programowania (jezyka C).
Pisze program realizuj?cy algorytm sortowania b?belkowego. Dzia3a on w
ten sposób, i? wczytuje ze standardowego wej?cia 10 liczb do sortowania
(nie umiem tworzya jeszcze tablic dynamicznych, wiec ustawi3em górne
ograniczenie na 10 liczb, ale na tablice dynamiczne przyjdzie czas
pó?niej;). Nastepnie na tych liczbach dokonuje sortowania b?belkowego i
wy?wietla posortowany ci?g. Niestety, tu zaczyna sie problem. Program
nie potrafi sortowaa u3amków. Gdy wpisze np. 2,5 program traktuje te
iczbe jako 2, gdy np. 1,8 traktuje j? jako 1 itp. - po prostu za ka?dym
razem bierze cze?a ca3kowit? liczby, tak jakby tryb double przerzutowa3
sie na int. Nie wiem, z czego to sie bierze.
Tablice przechowuj?c? liczby zadeklarowa3em typu double:
double tablica[10];
Funkcja odczytuj?ca dane wczytuje je w ten sposób:
scanf("%g",&wartosc); gdzie wartosc jest potem warto?ci? zwracan? przez
funkcje: return wartosc;
Funkcja wypisuj?ca posortowany ju? przez inn? funkcje ci?g wypisuje dane
w ten sposób:
printf("%g,",tab[i]); - jest ona uruchamiana w petli 10 razy dla kolejnych i
Wszystko dzia3a jak trzeba i robi co trzeba, wiec sama struktura
programu, podzia3 na funkcje itp. jest wiec chyba w porz?dku. Nie dzia3a
tylko to, ?e liczby "gubi?" u3amki. Bardzo prosze o pomoc. Je?eli bedzie
trzeba, moge podaa nawet ca3y kod - na razie nie chcia3em za?miecaa
postu, ale nie wiem, co mo?e bya potrzebne, ?eby rozwik3aa problem.
Z góry dziekuje!
--
Pozdrawiam, Wally
?ycze mi3ego dnia :)