Zdravim, potreboval by som poradit. Mam program na premenu cislo zo sustavy do inej sustavy ale nejako mam problem s retazcom ktory ma byt vystupom, jednoducho my ho nevypise ale ked zadam kokretnu suradnicu vystupneho stringu tak ju vypise.
program system_convertor;
uses crt;
var number:string;
sys_ori,sys_new,decimal:integer;
cycle:char;
function to_decimal(sustava:integer;cislo:string):integer;
var i,vysledok,pom,stupen:integer;
begin
vysledok:=0;
stupen:=1;
for i:=Length(cislo) downto 1 do
begin
if ord(cislo[i])<=ord('9') then
begin
pom:=ord(cislo[i])-ord('0');
end
else if ord(cislo[i])>=ord('a') then
begin
pom:=ord(cislo[i])-ord('a')+10;
end;
pom:=pom*stupen;
stupen:=stupen*sustava;
vysledok:=vysledok+pom;
end;
to_decimal:=vysledok;
end;
function from_decimal(sustava:integer;cislo:integer):string;
var vysledok:string;
pom,i,j:integer;
znak:char;
begin
i:=0;
while cislo<>0 do
begin
writeln('Som v cykle!');
i:=i+1;
pom:=(cislo)mod(sustava);
cislo:=(cislo)div(sustava);
if pom<=9 then vysledok[i]:=chr(pom+ord('0'))
else if pom>=10 then vysledok[i]:=chr(ord('a')+(pom-10));
writeln(vysledok[i]);
writeln(vysledok);
end;
for j:=1 to (i)div(2) do
begin
znak:=vysledok[i-j+1];
vysledok[i-j+1]:=vysledok[j];
vysledok[j]:=znak;
end;
writeln(vysledok);
from_decimal:=vysledok;
end;
begin
clrscr;
repeat
writeln('Zadajte do programu cislo ktore chcete zamenit');
readln(number);
writeln('V akej je sustave?');
readln(sys_ori);
writeln('Do akej ho chces dat?');
readln(sys_new);
decimal:=to_decimal(sys_ori,number);
number:=from_decimal(sys_new,decimal);
if sys_ori=sys_new then writeln('A co chces prekladat ked su rovnake? Je to ',number)
else
begin
write('Vysledne cislo je ');
writeln(number);
end;
writeln('Chces to vsetko zopakovat? 1 = ano / 0 = nie');
cycle:=readkey;
until cycle=('0');
readln;
end.