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

Исправьте ошибку пожалуйста!

05.06.2010, 18:09. Показов 589. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Unit Perevod;
 
INTERFACE
 
function per10_2(x:longint):string;
function per10_8(x:longint):string;
function per10_16(x:longint):string;
function per2_10(x:string):longint;
function per8_10(x:string):longint;
function per16_10(x:string):longint;
 
IMPLEMENTATION
 
 function per10_2(x:longint):string;
const digits:array [0..1] of char = ('0','1');
var res:string; d:0..1;
begin
   res:='';
   while (x<>0) do begin
      d:=x mod 2; res:=digits[d]+res;
      x:=x div 2;
   end;
   per10_2:=res;
end;
 
 function per10_8(x:longint):string;
const digits:array [0..8] of char = ('0','1','2','3','4','5','6','7','8');
var res:string; d:0..8;
begin
   res:='';
   while (x<>0) do begin
      d:=x mod 8; res:=digits[d]+res;
      x:=x div 8;
   end;
   per10_8:=res;
end;
 
 function per10_16(x:longint):string;
const digits:array [0..9] of char = ('0','1','2','3','4','5','6','7','8','9');
var res:string; d:0..16;
begin
   res:='';
   while (x<>0) do begin
      d:=x mod 16; res:=digits[d]+res;
      x:=x div 16;
   end;
   per10_16:=res;
end;
 
 function per2_10(x:string):longint;
const digits:array [0..1] of char = ('0','1');
var res,ves:longint; i,j:byte;
begin
   res:=0; ves:=1;
   for i:=length(x) downto 1 do begin
      j:=0;
      while (digits[j]<>x[i]) do inc(j);
      res:=res+ves*j;
      ves:=ves*2;
   end;
   per2_10:=res;
end;
 
 function per8_10(x:string):longint;
const digits:array [0..8] of char = ('0','1','2','3','4','5','6','7','8');
var res,ves:longint; i,j:byte;
begin
   res:=0; ves:=1;
   for i:=length(x) downto 1 do begin
      j:=0;
      while (digits[j]<>x[i]) do inc(j);
      res:=res+ves*j;
      ves:=ves*8;
   end;
   per8_10:=res;
end;
 
 function per16_10(x:string):longint;
const digits:array [0..9] of char = ('0','1','2','3','4','5','6','7','8','9');
var res,ves:longint; i,j:byte;
begin
   res:=0; ves:=1;
   for i:=length(x) downto 1 do begin
      j:=0;
      while (digits[j]<>x[i]) do inc(j);
      res:=res+ves*j;
      ves:=ves*16;
   end;
   per16_10:=res;
end;
end.
Сделал по подобию, но переводит из двоичной в восмеричную и шестнадцетиричную системы плохо, а наоборот ещё хуже, через раз ответ правельный. Помогите найти ошибку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2010, 18:09
Ответы с готовыми решениями:

"Строки и линии". Исправьте ошибку пожалуйста
Program laba5; var s:string; n, i:integer; begin Writeln('Vvedite chislo'); readln(s);...

исправьте пожалуйста!
что я делаю неправильно? я хочу вывести рэндомно два числа три раза, а затем сумму каждой пары, но...

Исправьте, пожалуйста
Не понимаю в чем ошибка uses crt; var f1,f2: text; st1,st2: string; M: integer; ...

Пожалуйста, исправьте программу
Не могу разобраться где ошибка в этой программе program pv; uses crt; var a: array of integer;...

5
4 / 4 / 7
Регистрация: 18.10.2009
Сообщений: 20
05.06.2010, 19:35 2
А что написать то надо было? =)
0
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 8
05.06.2010, 19:57  [ТС] 3
Цитата Сообщение от PreviouS Посмотреть сообщение
А что написать то надо было? =)
проверить перевод из двоичной в восьмеричную и шестнадцатеричную, из восьмеричной в десятиричную, из шеснадцатеричной в десятичную. )
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
05.06.2010, 20:11 4
Цитата Сообщение от SAMuel21 Посмотреть сообщение
проверить перевод
посмотри на форуме в поиске что та такое тут было!
0
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 8
05.06.2010, 20:39  [ТС] 5
Цитата Сообщение от Hidalgo08 Посмотреть сообщение
посмотри на форуме в поиске что та такое тут было!
Смотрел, конкретно своих переводов не нашел. И смысла искать нет, она работает хорошо с небольшими числами, а те что больше - косячит. Что в ней править - непонятно.
0
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 8
06.06.2010, 13:45  [ТС] 6
Помогите написать(исправить) функию перевода числа из десятичной системы счисления в шестнадцатеричную, всё остальное работает хорошо.
0
06.06.2010, 13:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2010, 13:45
Помогаю со студенческими работами здесь

Исправьте ошибку
program notebook; USES CRT; type NOTE = record fam:string; im:string; telefon:string;...

Исправьте ошибку!
Всем привет , посмотрите что не так, 207 ошибку выдает. Program Zadanie; Var w,y,x,b,a:real;...

Исправьте ошибку
Program Z; Var z1, z2, x:real; Begin Writeln('BBeDuTE x'); Readln(x);...

исправьте ошибку
program dvoichnyi; uses crt; var i:integer; a:array of integer; b:array of string; s,d:string;...


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

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

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