domin568
Nowy
Dołączył: 16 Lut 2014
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Nie 16:21, 16 Lut 2014 Temat postu: Problem z konwersją systemu dziesiętnego na binarny Pascal |
|
|
Witam, próbuję napisać program w pascalu ktory zamienia liczbe z systemu dziesietnego na system binarny, udalo mi sie uzyskac odwrocona liczbe w tablicy, jednak teraz trzeba ja odwrocic żeby wynik był poprawny, jednak mój algorytm (myślałem że będzie działał idealnie) nie działa tak jak chciałem, poprostu w jednej pozycji nie zmienia na odpowiednią liczbe. Narazie liczba dziesietna do przeliczenia jest ustawiona na stałe. Tutaj wyniki jakie dostaje po pierwszej petli obliczajacej : 10110101, natomiast po drugiej pętli mam : 10100101, czyli w 5 pozycji brakuje 1 ... Tutaj kod :
Kod: |
program Untitled;
procedure zapisDziesietnyNaBinarny (var liczba : Integer);
var
liczbaOstateczna : Real ;
resztyDzielenia : array [1..100] of Integer;
i : Integer;
j : Integer;
tmp : Integer;
begin
i := 0;
j := 0;
while liczba >= 1 do
begin
i := i + 1;
resztyDzielenia[i] := liczba mod 2;
liczba := liczba div 2 ;
write (resztyDzielenia[i]);
end;
writeln;
i := i +1;
while i >= 1 do
begin
i := i - 1; {8}
j := j + 1;
tmp := resztyDzielenia[i];
writeln ('tmp :', tmp);
resztyDzielenia[j] := tmp;
writeln (resztyDzielenia[j]);
end;
writeln;
write ( resztyDzielenia[1]);
write ( resztyDzielenia[2]);
write ( resztyDzielenia[3]);
write ( resztyDzielenia[4]);
write ( resztyDzielenia[5]);
write ( resztyDzielenia[6]);
write ( resztyDzielenia[7]);
write ( resztyDzielenia[8]);
end;
var
liczba : Integer;
begin
liczba := 173;
zapisDziesietnyNaBinarny (liczba);
readln;
end.
|
Liczę na waszą pomoc bo już naprawdę nie wiem co mam zrobić :/
Post został pochwalony 0 razy
|
|