5 / 5 / 8
Регистрация: 16.11.2012
Сообщений: 18
1

Перевод чисел записанных в строку, из одной системы счисления в другую

19.11.2012, 19:18. Показов 2173. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста помогите исправить програмку.
Программа должна доставать из строки числа, записаные в шестиричной системе счисления и переводить их в десятичную. Числа разделены символами ':' и ' '.
Вроде бы я все сделал по фэншую, а программа не работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var
sim:array[1..32]of real;
s,s1:string;
h,p:real;
c:char;
a,i,j,e:integer;
begin
readln(s);
if length(s)<=64 then begin
a:=1;s1:='';
 
 
while a<=length(s) do begin
 
 
repeat 
a:=a+1;
until (s[a]<>' ') or (s[a]<>':');
 
 
while (s[a]<>' ') or (s[a]<>':') do begin
s1:=s1+s[a];
a:=a+1;
end;
 
 
if s1<>'' then begin e:=e+1;
 
 
 for i:=1 to (length(s1)div 2) do begin
 c:=s1[i]; s1[i]:=s1[length(s1)-i+1]; s1[length(s1)-i+1]:=c;
end; 
 
 
h:=ord(s1[1])-48;
 
 
for i:=2 to length(s1) do begin
p:=1;
for j:=1 to i-1 do
p:=p*6;
h:=h+p*(ord(s1[i])-48);
end;
s1:='';
 
 
sim[e]:=h;
end; 
a:=a+1;
end;
end;
 
if length(s)>64 then writeln('Больше 64 символов.');
 
for i:=1 to 32 do 
if sim[i]<>0 then writeln(sim[i]);
end.
Подскажите где я ошибся.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2012, 19:18
Ответы с готовыми решениями:

Перевод чисел из одной системы счисления в другую
Здравствуйте! Написал программу по переводу из 16-ой системы счисления в двочно-восьмеричную, но...

Перевод чисел из одной системы счисления в другую
Задание: С помощью MS Office Excel провести расчеты по переводу десятичного числа в...

Перевод чисел из одной системы счисления в другую
Здравствуйте. Помогите, пожалуйста, доделать программу. Условие: перевод чисел из десятичной...

Перевод чисел из одной системы счисления в другую
Задание: Написать программу на языке С++ для переведа числа, представленного в системе счисления с...

1
5 / 5 / 8
Регистрация: 16.11.2012
Сообщений: 18
20.11.2012, 19:42  [ТС] 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var
s:string;
a:array[1..35]of real;
 
procedure sis(s1:string;var h:real);
var p:real; i,j:integer;
begin
h:=ord(s1[1])-48;
for i:=2 to length(s1)do begin
p:=1;
for j:=1 to i-1 do 
p:=p*6;
h:=h+p*(ord(s1[i])-48);
end;end;
 
procedure sus(s:string; var a:array of real);
var i,e:integer; s1:string; h:real;
begin
e:=0; i:=1; s1:='';
while i<=length(s) do begin
if (s[i]<>' ') or (s[i]<>':') then begin e:=e+1;
       while (s[i]<>' ') or (s[i]<>':') do begin
       s1:=s1+s[i]; i:=i+1; end;
       sis(s1,h);
       a[e]:=h;
       s1:=' ';
       end else i:=i+1; end;
end;
 
procedure ses(a:array of real);
var i:integer;
begin
for i:=1 to 35 do
if a[i]<>0 then write(a[i],' ');
writeln;
end;
 
begin
readln(s);
sus(s,a);
ses(a);
end.
Последняя попытка исправить программу, неуспешная.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2012, 19:42
Помогаю со студенческими работами здесь

Перевод чисел из одной системы счисления в другую
Перевод чисел из одной системы счисления в другую: Запишите числа в прямом коде (формат 1 байт):на...

Перевод чисел из одной системы счисления в другую
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;string&gt; using namespace std;...

Перевод чисел из одной системы счисления в другую
:help:Пожалуйста...умоляю...помогите составить программу в QBasic &quot;перевод чисел из одной системы...

Перевод чисел из одной системы счисления в другую
Ребят, помогите пожалуйста выполнить контрольную работу. (задание и пример выполнения находятся в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru