Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 6
1

Динамические структуры: Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления

11.09.2012, 13:04. Показов 1477. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан список, содержащий запись неотрицательных целых чисел в двоичной системе счисления. Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2012, 13:04
Ответы с готовыми решениями:

Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления.
Дан список, содержащий запись неотрицательных целых чисел в двоичной системе счисления. Заменить...

Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления
Дан список, содержащий запись неотрицательных целых чисел в двоичной системе счисления. Заменить...

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

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

2
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.09.2012, 20:46 2
Лучший ответ Сообщение было отмечено gogi1337 как решение

Решение

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
uses crt;
 
type alist=^a;
 a = record
  data: real;
  next: alist;
 end;
 
 var first: alist;
     i,n: integer;
     s: real;
     
 procedure add(var first: alist; x: real);
 var cur: alist;
 begin
  if first=nil then
  begin
   new(first);
   cur:=first;
  end
  else
  begin
   cur:=first;
    while cur^.next<>nil do
     cur:=cur^.next;
    new(cur^.next);
    cur:=cur^.next;
  end;
  cur^.next:=nil;
  cur^.data:=x;
 end;
 
 procedure list(first: alist);
 begin
  while first<>nil do
   begin
    write(first^.data,' ');
    first:=first^.next;
   end;
  writeln;
 end;
 
 function BinToHex(s: string): real;
var x,i,p,code: integer;
    sum: real;
begin
 x:=0;
 sum:=0;
 for i:=length(s) downto 1 do
  begin
   val(s[i],p,code);
   if p>0 then
    sum:=sum+exp(ln(2)*x);
   inc(x);
  end;
 bintohex:=sum;
end;
 
 procedure Replace(first: alist);
 var i: integer;
     s: string;
 begin
  while first<>nil do
   begin
    str(first^.data,s);
    first^.data:=bintohex(s);
    first:=first^.next;
   end;
 
 end;
 
 begin
  clrscr;
  first:=nil;
  write('Количество элементов: ');
  readln(n);
  writeln('Введите элементы в двоичной системе счисления: ');
  for i:=1 to n do
   begin
    readln(s);
    add(first,s)
   end;
  writeln('Исходные элементы: ');
  list(first);
  replace(first);
  writeln('Полученные элементы: ');
  list(first);
  readln;
 end.
Добавлено через 25 минут
Код выше переводит в десятичную, не сразу заметил, что в 16 нужно:
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
92
93
uses crt;
 
const n: string [36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
type alist=^a;
 a = record
  data: string;
  next: alist;
 end;
 
 var first: alist;
     i,n1: integer;
     s: string;
     
 procedure add(var first: alist; x: string);
 var cur: alist;
 begin
  if first=nil then
  begin
   new(first);
   cur:=first;
  end
  else
  begin
   cur:=first;
    while cur^.next<>nil do
     cur:=cur^.next;
    new(cur^.next);
    cur:=cur^.next;
  end;
  cur^.next:=nil;
  cur^.data:=x;
 end;
 
 procedure list(first: alist);
 begin
  while first<>nil do
   begin
    write(first^.data,' ');
    first:=first^.next;
   end;
  writeln;
 end;
 
function DecToQint (var q: string): string;
var i,q1,code,d: integer;
    s1: string;
begin
 q1:=2;
 d:=0;
 for i:=1 to length(q) do
  d:=q1*d+pos(q[i],n)-1;
 str(d,s1);
 val(s1,d,code);
 q1:=16;
  q:='';
 while d<>0 do
  begin
   q:=n[d mod q1+1]+q;
   d:=d div q1;
  end;
  dectoqint:=q;
end;
 
 procedure Replace(first: alist);
 var i: integer;
 begin
  while first<>nil do
   begin
    first^.data:=DecToQint(first^.data);
    first:=first^.next;
   end;
 
 end;
 
 begin
  clrscr;
  first:=nil;
  write('Количество элементов: ');
  readln(n1);
  writeln('Введите элементы в двоичной системе счисления: ');
  for i:=1 to n1 do
   begin
    readln(s);
    add(first,s)
   end;
  writeln('Исходные элементы: ');
  list(first);
  replace(first);
  writeln('Полученные элементы: ');
  list(first);
  readln;
 end.
0
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 6
11.09.2012, 21:19  [ТС] 3
Спасибо
 Комментарий модератора 
Напоминаю. На сайте действует система репутаций. Поэтому, если какой-то пост оказался полезным для вас - отметьте его нажатием кнопки: "+1 Спасибо".
0
11.09.2012, 21:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2012, 21:19
Помогаю со студенческими работами здесь

Запись числа -2047 в шестнадцатеричной системе счисления
Нужно записать FFFFFFFFFFFFF801 с помощью 3 символов. Это возможно вообще?

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

Дано число в шестнадцатеричной системе счисления. Вывести строку изображающую десятичную запись того же числа
Дано число в шестнадцатеричной системе счисления. Вывести строку изображающую десятичную запись...

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

Решить уравнение в двоичной системе счисления и в шестнадцатеричной системе
Добрый вечер! Написать программу на ассемблере для решения вот такого уравнения, х и у задаем...

Программа выводит каждый элемент цикла в двоичной системе счисления
Программа выводит каждый элемент цикла в двоичной системе счисления. Как сделать, чтобы она...


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

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