Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 14
1

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

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

Author24 — интернет-сервис помощи студентам
Перевести целое число 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2012, 12:46
Ответы с готовыми решениями:

Если строка является изображением целого числа в восьмеричной системе счисления, то перевести ее в целое число в двоичной системе счисления
Вводится строка символов. Если она является изображением целого числа в восьмеричной системе...

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

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

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

2
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
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
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
25.12.2012, 16:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2012, 16:36
Помогаю со студенческими работами здесь

Паскаль Перевести число из 10 системы счисления в n-ричную
Народ помогите ПЛИЗ!!! нужно на Паскале программку - Перевести число из 10 системы счисления в...

Перевести число из десятичной системы счисления в 2, 8, 16-ричную
Перевести число 567,321 из десятичной системы счисления в 2, 8, 16-ричную (при переводе дробной...

Перевести число из 4-ричной системы счисления в 18-ричную и наоборот
Перевести число из 4-ричной системы счисления в 18-ричную и наоборот

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

Как перевести число из 10-тичной системы счисления в 8-ричную и обратно.
Помогите кто-нибудь! Заранее спасибо!

Как перевести из двоичной системы в десятичную не целое число
как перевести не целое число из двоичной системы в десятичную на python


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

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