[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

[Lamerskie] Maly problem z sortowaniem babelkowym w C

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 :)

4 Answers

Borafu

11/24/2006 7:39:00 PM

0

to_wytnij to_wytnij napisa3(a):
> Witam!
>
> Od razu zaznaczam, ?e jestem bardzo pocz?tkuj?cy, gdy? dopiero ucze sie
> programowania (jezyka C).
Cholera, dawno ju? nie u?ywa3em C...

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

Program bierze cze?a ca3kowit?, czy tak? wy?wietla i jak to sprawdzasz?

> (...) Je?eli bedzie trzeba, moge podaa nawet ca3y kod

To mo?e bya za du?o szcze?cia ;-) , ale by3oby fajnie gdyby? co? wiecej
okre?li3. Spróbuj wykrya kiedy "tracisz" te cze?ci u3amkowe, wtedy
bedzie pro?ciej powiedziea dlaczego.

Pozdro
--
Borafu

geo

11/24/2006 9:42:00 PM

0

To moze zamiast 2,5 sprobuj wpisac 2.5 - to anglosaski kompiler i moze
nie wiedziec, iz w Polsce znakiem odstepu czesci calkowitej od
ulamkowej jest przecinek a nie kropka.

mm-kk(to_wytnij)\"@(to_wytnij)o2.pl

11/24/2006 10:29:00 PM

0

Przepraszam, juz sobie poradzi3em
Problem by3 banalny, ?le zadeklarowa3em warto?a zwracan? przez funkcje
wczytuj?c? liczby do tablicy w jej nag3ówku i zamiast double zwraca3a int.

--
Pozdrawiam, Maciek
?ycze mi3ego dnia :)

Zapraszam na http://www.cyfro...

mm-kk(to_wytnij)\"@(to_wytnij)o2.pl

11/27/2006 9:44:00 PM

0

Geo napisa3(a):
> To moze zamiast 2,5 sprobuj wpisac 2.5 - to anglosaski kompiler i moze
> nie wiedziec, iz w Polsce znakiem odstepu czesci calkowitej od
> ulamkowej jest przecinek a nie kropka.
>
>
Có?, to te? by3a jedna ze sk3adowych mojego problemu. Dzieki :)

--
Pozdrawiam, Maciek
?ycze mi3ego dnia :)

Zapraszam na http://www.cyfro...