czy jest jakiś motyw żeby od razu zamienić liczbe w systemie np 4 na liczbe w sys 7........czy trzeba najpierw liczbe w sys 4 zamieniać na 10 i z 10 na 7??????
Jak mi powiesz jak zamieniasz z 10 na 7 to postaram się zrobić to tak, żeby pominąć 10.--Jest jeszcze jeden błąd ... :)
--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl
mozesz pokusic sie o napisanie algorytmu ale bedzie to dosc trudne ale nie ma rzecvzy niemozliwych
oidnus napisał:
mozesz pokusic sie o napisanie algorytmu ale bedzie to dosc trudne ale nie ma rzecvzy niemozliwych
>
Wszystko co się piszę to praktycznie algorytm :)
On już ma funkcję zamieniającą liczby w systemie 4 na 10 i funkcję zamieniającą z systemu 10 na 7. Problem polega na tym, że nie może stworzyć funkcji, która zamieniałaby bezpośrednio z 4 na 7, ponieważ komputer zwraca wartości w systemie dziesiętnym. Gdyby przedstawiał resztę z dzielenia w systemie 7 to nie byłoby problemu.--Jest jeszcze jeden błąd ... :)
--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl
Nie da rady. Nic nie wymyśliłem. Trzeba tak:
procedure TForm1.Button1Click(Sender: TObject);
function S10toP(liczba:integer;p:byte):string;
var
wynik:string;
begin
wynik:='';
while liczba>=p do begin
wynik:=IntToStr(liczba mod p)+wynik;
liczba:=Trunc(liczba/p);
end;;
Result:='1'+wynik;
end;
function SPto10(liczba:string;p:byte):integer;
var
x:integer;
wartosc:integer;
begin
wartosc:=0;
for x:=1 to length(liczba) do
wartosc:=wartosc+Trunc(StrToInt(liczba[x])*IntPower(p,length(liczba)-x));
Result:=wartosc;
end;
function ZamianaSystemow(liczba:string;p1,p2:byte):string;
begin
Result:=S10toP(SPto10(liczba,p1),p2);
end;
begin
ShowMessage(ZamianaSystemow('27',4,7));
end;--Jest jeszcze jeden błąd ... :)