Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program numeralSystems;
- uses
- crt,DOS,sysutils;
- const outputString = '0123456789ABCDEFGHIJKLMNOPRSTQWXYZ';
- function convertFromDecimal( number : integer; system : byte ) : string;
- begin
- result := '';
- if ( number = 0 ) then
- begin
- result := '0';
- exit;
- end;
- while ( number > 0 ) do
- begin
- result := outputString[ ( number mod system ) + 1 ] + result;
- number := number div system;
- end;
- end;
- function convertToDecimal( number : string; system : byte ) : integer;
- var
- i, j, singleChar, powerOf : integer;
- begin
- result := 0;
- powerOf := 1;
- if ( number[1] = '0' ) then
- begin
- result := 0;
- exit;
- end;
- for i := length( number ) downto 1 do
- begin
- for j := 1 to system do
- begin
- if ( UpperCase( number[i] ) = outputString[j] ) then
- begin
- singleChar := j - 1;
- break;
- end;
- end;
- result := result + ( singleChar * powerOf );
- powerOf := powerOf * system;
- end;
- end;
- var
- sourceSystem, destSystem : byte;
- number, result : string;
- begin
- writeln('Podaj system wejsciowy');
- readln( sourceSystem );
- writeln('Podaj system wyjsciowy');
- readln( destSystem );
- writeln('Podaj liczbe');
- readln( number );
- writeln;
- result := convertFromDecimal( convertToDecimal( number, sourceSystem ), destSystem );
- writeln( 'Liczba ' , uppercase(number) , ' (' , sourceSystem , ') to ' , result , ' (' , destSystem , ')' );
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment