Tablica zapisana do pliku w notacji wykładniczej ( w C)

0

Witam, mam takie zadanko do napisania w C:
napisz program zawierający funkcje: wypełniającą tablicę B typu double liczbami wg jakiegos tam wzoru, wyświetlającą zadaną z klawiatury kolumnę, zapisującą tablicę do pliku tekstowego o nazwie zadanej z klawiatury, wszystko jasne proste oczywiste, i tu sie zaczynają schody - ma to byc zapisane w formacie (+/-)x.xxxxE(+/-)yyy
Wiem że jest to notacja wykładnicza, ale nie mam pojęcia jak to zrobić. Dostałam podpowiedź, że ma to byc cos w printfie w stylu "%1.3E", ale nadal nie wiem jak to napisać. I kolejny podpunkt zadania, może ktoś pomoże:
"dla tego pliku pozycjonuje, a nastepnie odczytuje liczbe o wspolrzednych zadanych z klawiatury", też nie rozumiem tego polecenia. Proszę o pomoc i pozdrawiam

0

Możesz rzutować typ double na int i już wiesz ile cyfr ma liczba bez rozwinięcia dziesiętnego (konwertując do stringa tą liczbe int i sprawdzając Length). Następnie dzielisz przez 10^(liczba cyfr przed przecinkiem - 1) no i zapisujesz potem w notatniku podzieloną liczbe + "E" + liczba cyfr przed przecinkiem -1
No i nie zapomnij o tym ze gdy liczba jest mniejsza od 1, czyli rzutowanie da wynik 0, to trzeba np zrobić pętle mnożącą przez 10 aż wynik rzutowania będzie większy od 0

0

@ubuntuser: Nie, nie, nie. Twoje rozwiązanie jest wolniejsze niż printf (mały problem), nie działa dla liczb nie mieszczących się w int, oraz mniejszych od 1.

@OP Printf ma odpowiednie opcje, dobrze tam kombinowałeś, tylko poczytaj dokładnie w dokumentacji co każdy z parametrów znaczy i jak je zmienić

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