Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
mandarin
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 14
1

Перевести целое число n из двоичной системы счисления в 8-ричную

25.12.2012, 12:46. Просмотров 834. Ответов 2
Метки нет (Все метки)

Перевести целое число n, произвольной длины, из двоичной системы счисления в 8-ричную.
(сказали что обязательно нужно через строки,а я совсем забыла как с ними работать... вот что получилось):

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
program arifmettika;
uses crt;
var
   perv,vspom,res:string;
   g:byte;
Begin
clrscr;
write('vvedi chislo v dwoichnoj SS-');
readln(perv);
res:='';
vspom:='';
while length(perv)<>0 do
 
  begin
    vspom:=copy(perv,3,length(perv)-2);
    val(vspom,g);
    case g of
    001: insert('1',res,1);
    010: insert('2',res,1);
    011: insert('3',res,1);
    100: insert('4',res,1);
    101: insert('5',res,1);
    110: insert('6',res,1);
    111: insert('7',res,1);
    end;
    delete(perv,3,length(perv)-2);
    delete(vspom,3,1);
  end;
write('perevedennoe chislo=',res);
readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 12:46
Ответы с готовыми решениями:

Перевод чисел из десятичной системы счисления в 2-ичную, 8-ричную, 16-ричную и обратно
Помогите составить проги.Очень нато!!!Желательно в процедурах или функциях.

Перевести число из десятичной системы счисления в двоичную
Мне на информатике в институте дали конторольную. А я в информатике вообще...

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

Перевод из 10-ной системы счисления в 16-ричную
Не могу найти ошибку...задание перевод из 10 системы счисления в 16.Выдает...

Рекурсия: перевод натурального числа из десятичной системы счисления в N-ричную
Написать рекурсивную процедуру перевода натурального числа из десятичной...

2
Puporev
Модератор
54710 / 42119 / 29083
Регистрация: 18.05.2008
Сообщений: 99,407
25.12.2012, 15:54 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
uses crt;
const trd:array[0..7] of string[3]=('000','001','010','011',
                                    '100','101','110','111');
var s2,s8:string;
    i:integer;
    c:char;
begin
clrscr;
{ввод числа}
s2:='';
writeln('Введите число в 2 системе счисления, окоечание ввода Enter:');
repeat
c:=readkey;
if c in ['0','1'] then
 begin
  write(c);
  s2:=s2+c;
 end;
if c=#13 then writeln;
until c=#13;
{перевод в СС 8}
while length(s2) mod 3 <> 0 do s2:='0'+s2;
//дополняем строку влево до длины, кратной 3
s8:='';
while s2<>'' do
 begin
  for i:=0 to 7 do
  if copy(s2,1,3)=trd[i] then s8:=s8+chr(i+48);
  {сравниваем с массивом значений для перевода
  и записываем найденное значение в строку S8}
  delete(s2,1,3);{удаляем триаду}
 end;
writeln('Число в 8 системе счисления:');
write(s8);
readln
end.
1
mandarin
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 14
25.12.2012, 16:36  [ТС] 3
сама додумалась, вроде правильно работает
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
program arifmettika;
uses crt;
var
   perv,vspom,res:string;
   g:byte;
Begin
clrscr;
write('vvedi chislo v dwoichnoj SS-');
readln(perv);
res:='';
vspom:='';
while length(perv)>0 do
    begin
    if length(perv)<3 then begin
    val(perv,g);
    case g of
    1: insert('1',res,1);
    10: insert('2',res,1);
    11: insert('3',res,1);
    100: insert('4',res,1);
    101: insert('5',res,1);
    110: insert('6',res,1);
    111: insert('7',res,1);
    end ;
    delete(perv,1,(length(perv)));
    end
    else begin
     vspom:=copy(perv,(length(perv)-2),3);
     val(vspom,g);
     case g of
    0: insert('0',res,1);
    1: insert('1',res,1);
    10: insert('2',res,1);
    11: insert('3',res,1);
    100: insert('4',res,1);
    101: insert('5',res,1);
    110: insert('6',res,1);
    111: insert('7',res,1);
     end;
    delete(perv,(length(perv)-2),3);
    delete(vspom,1,3);
    end;
    end;
 
write('perevedennoe chislo=',res);
readln;
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 16:36

Перевод из двоичной системы счисления в десятичную
Помогите создать программу на языке паскаль Добавлено через 40 секунд и...

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

Исправить программу перевода из двоичной системы счисления в десятичную
Не работает, не знаю почему Program z12; var i:integer; a:longint; begin ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru