Viết chương trình cho phép đổi một số từ cơ số bất kỳ sang cơ số 10.
Trả lời
Tổng hợp câu trả lời (2)
Thùy Dương
01:12:13 01-Dec-2021
Program Doi_co_so;
Var n: String;
s:byte;
Function DCS_10st:String;s:byte:longint;
Var CS1: array['0'..'9'] of byte;
CS2: array['A'..'Z'] of byte;
ch:Char;
i:byte;
Tam:longint;
Begin
i:=0;
ch:='0';
while i<=9 do
Begin
CS1[ch]:=i;
inci;
incch;
End;
i:=10;
ch:='A';
While ch<'Z' do
Begin
CS2[ch]:=i;
inci;
incch;
End;
Tam:=0;
While st<>'' do
Begin
ch:=st[1];
if ch>=′0′ and ch<=′9′ then Tam:=Tam*s+CS1[ch]
else Tam:=Tam*s+CS2[ch];
Deletest,1,1;
End;
DCS_10:=Tam;
End;
Begin
Write′Nhapn:′;Readlnn;
Write′Cosocuasovuanhap:′;Readlns;
WriteDCS10(n,s);
Readln
End.
Hãy giúp mọi người biết câu trả lời này thế nào?
5
NguyenHieu
01:11:31 24-Nov-2021
Program Doi_co_so;
Var n: String;
s:byte;
Function DCS_10(st:String;s:byte):longint;
Var CS1: array['0'..'9'] of byte;
CS2: array['A'..'Z'] of byte;
ch:Char;
i:byte;
Tam:longint;
Begin
i:=0;
ch:='0';
while i<=9 do
Begin
CS1[ch]:=i;
inc(i);
inc(ch);
End;
i:=10;
ch:='A';
While ch<'Z' do
Begin
CS2[ch]:=i;
inc(i);
inc(ch);
End;
Tam:=0;
While st<>'' do
Begin
ch:=st[1];
if (ch>='0') and (ch<='9') then Tam:=Tam*s+CS1[ch]
else Tam:=Tam*s+CS2[ch];
Delete(st,1,1);
End;
DCS_10:=Tam;
End;
Begin
Write('Nhap n:');Readln(n);
Write('Co so cua so vua nhap: ');Readln(s);
Write(DCS_10(n,s));
Readln
End.
Hãy giúp mọi người biết câu trả lời này thế nào?
5