bbj25 utworzono 11 lipca 2009 utworzono 11 lipca 2009 (edytowane) Mam do zrobienia konweter liczb na system ósemkowy(oktagonalny) w Pascalu. Czy jesteście w stanie mi pomóc?
MarekM25 komentarz 11 lipca 2009 komentarz 11 lipca 2009 tutaj masz algorytm: http://en.wikipedia.org/wiki/Octal#Conversion_between_bases jeżeli nie pasuje to sobie poszukaj w googlach, bo ja pierwszą stronę i już trafiłem
bbj25 komentarz 11 lipca 2009 Autor komentarz 11 lipca 2009 A mógłby ktoś napisać mi kod zamiany liczb systemu dzięsiętnego na ósemkowy?
rafalluz komentarz 11 lipca 2009 komentarz 11 lipca 2009 A umiesz napisać kod zamiany na jakikolwiek inny system? Jeżeli tak, to i z ósemkowym sobie poradzisz.
bbj25 komentarz 12 lipca 2009 Autor komentarz 12 lipca 2009 (edytowane) ja wiem co jest system ósemkowy i jak się go oblicza , ale nie potrafię tego przenieś do Pascala... Dopiero co zacząłem się tym interesować ... Tzn. z dziesiętnego na dwójkowy sobie w miarę poradziłem : program DecToBin;usescrt;varwynik:string;JakaLiczba:integer;beginwrite('Podaj jaka liczbe dzesietna chcesz zamienic: ');readln(JakaLiczba);repeatif (JakaLiczba mod 2=1) thenwynik:='1' + wynikelsewynik:='0' + wynik;JakaLiczba:=JakaLiczba div 2;until JakaLiczba=0;writeln('Wynik: ',wynik);readln;end. Próbowałem analogicznie dla ósemkowego ,ale coś mi nie wychodzi ;/ // Kod dajemy w odpowiednich znacznikach // Benkowik
rafalluz komentarz 12 lipca 2009 komentarz 12 lipca 2009 No, czyli sobie poradzisz: div 2 zamieniasz na div 8 A zamiast tego ifa proponuję taki zapis wynik := chr(48 + (JakaLiczba mod 8)) + wynik; Teraz jeden krok i masz funkcję, która konwertuje na dowolony system.
bbj25 komentarz 12 lipca 2009 Autor komentarz 12 lipca 2009 (edytowane) Zrobiłem tak jak kolega ale nie wyszło mi : Pisze błąd następujący: Fatal: Syntax error, THEN expected but := found program DecToBin;usescrt;varwynik:string;JakaLiczba:integer;beginwrite('Podaj jaka liczbe dzesietna chcesz zamienic: ');readln(JakaLiczba);repeatif wynik := chr(8 + (JakaLiczba mod 8)) + wynik;thenwynik:='1' + wynik;elsewynik:='0' + wynik;JakaLiczba:=JakaLiczba div 8;until JakaLiczba=0;writeln('Wynik: ',wynik);readln;end. // Tak jak wyżej, kod dajemy w znacznikach CODE // Benkowik
rafalluz komentarz 12 lipca 2009 komentarz 12 lipca 2009 (edytowane) Miałeś usunąć całego IFa wraz z THEN i ELSE i zamiast tego dać tą linię. Ona działa niezależnie od wartości modulo.
bbj25 komentarz 15 lipca 2009 Autor komentarz 15 lipca 2009 (edytowane) teraz już jest OK. dzięki wam.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.