Форум программистов, компьютерный форум CyberForum.ru

Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.78
Krotik
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 43
19.10.2011, 16:24     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #1
Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. Программа должна предлагать десятичное (16-ричное) число, выбранное с помощью датчика случайных чисел, обучающийся – назвать это число в 16-ричной (десятичной) системе счисления. Причем, должен быть контроль за временем на размышление.

Помогите, пожалуйста...

Добавлено через 12 минут
Составить на С/С++ или С#

Пожалуйста, помогите...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 16:24     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно.
Посмотрите здесь:

создание программы для обучения переводу чисел из десятичной системы счисления в двоичную,восьмеричную,шестнадцатеричную C++
C++ напишите программу ДЛЯ ОБУЧЕНИЯ ПЕРЕВОДУ чисел из десятичной системы счисления в двоичную,восьмеричную,шестнадцатеричную
C++ Обучение переводу из 10-й системы счисления в2-ю 8-ю 16-ричную
Составить программу для перевода чисел из шестнадцатеричной системы счисления в двоичную(с++) C++
Составить программу,которая печатает таблицу умножения и сложения натуральных чисел в десятичной системе счисления на пять C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
19.10.2011, 16:26     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #2
Милости просим! Перевод в разные системы счисления. Готовые коды: http://www.cyberguru.ru/cpp-sources/...gie-page5.html
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
19.10.2011, 16:31     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #3
10 -> 16
C++
1
2
int x;
cout << hex << x;
Добавлено через 1 минуту
16 -> 10

C++
1
2
int x = 0x34;
cout << dec <<x;
Krotik
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 43
20.10.2011, 19:53  [ТС]     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #4
Там ассемблерная реализация и паскалевская реализации...

Вот, что из своих запасов делал на Паскале...
Из 10 в 2 (и обратно).
Но из 10 в 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//Программу для обучения переводу чисел из 10 в 2. И обратно.
//Программа должна предлагать 10 (двоичное) число, выбраное с помощью датчика случайных чисел, а обучающихся назвать это число в Двоичной(10) системе.
program algoritm;
uses crt;
label 1,2;
var s,sbox,dvaPs:string;
m:array [1..99] of integer;
i,step,des,dva,n,ost,l,delo,v,rand,box,dvaP,desP:integer;
begin
{Выбор направления обучения}
 writeln('Выберите направление обучения:');
 writeln('1. Перевод из десятичной системы счисления в двоичную');
 writeln('2. Перевод из двоичной системы счисления в десятичную');
 read(v);
 if v=1 then //если выбран 1, то
  begin
   writeln('--------------------');
   randomize;
   des:=random(6)+2;//задаём "сложность", число цифр в десятичном числе
   for i:=1 to des do
    begin
    rand:=random(10)+1;//выбираем рандомное число
    s:=s+IntToStr(rand);
    end;
    l:=length(s);
   {Отрубаем нолики из начала}
    for i:=1 to l do
     if s[1]='0' then
     begin
     Delete(s,1,1);
     l:=l-1;
     end
    else
     break;
   {/Отрубили нолики}
   des:=StrToInt(s);
   des:=3831;//тест
   writeln('Десятичное число:',des);
   n:=0;
   i:=0;
   repeat
    inc(n);
    inc(i);
    ost:=des mod 2;
    des:=des div 2;
    m[i]:=ost;
   until des=0;
   for i:=n downto 1 do
    begin
    box:=m[i];
    sbox:=sbox+IntToStr(box);//записываем двоичное число в строку
    end;
    l:=length(sbox);
   {Отрубаем нолики из начала}
    for i:=1 to l do
     if sbox[1]='0' then
     begin
     Delete(sbox,1,1);
     l:=l-1;
     end
    else
     break;
   {/Отрубили нолики}
   1:write('Переведите его в двоичную систему счисления:');
   read(dvaPs);
   if dvaPs=sbox then
    writeln('Правильно!')
   else
    begin
     writeln('Не правильно, попробуйте еще');
     goto 1;
    end;
  end
 else
 if v=2 then //если выбран 2, то
  begin
   writeln('--------------------');
   randomize;
   dva:=random(9)+3;//задаём "сложность", число цифр в двоичном числе
   for i:=1 to dva do
    begin
    rand:=random(2);//случайный 0 или 1
    s:=s+IntToStr(rand);
    end;
  l:=length(s);//длина строки
  {Отрубаем нолики из начала}
  for i:=1 to l do
   if s[1]='0' then
    begin
    Delete(s,1,1);
    l:=l-1;
    end
   else
    break;
  {/Отрубили нолики из начала}
  Writeln('Двоичное число:',s);
  for i:=1 to l do //для каждого символа делаем
   begin
    dva:=StrToInt(s[i]);//записываем текущую цифру
    step:=l-i;//степень
    if dva>0 then //для 1 делаем
     begin
     for n:=1 to step do
      dva:=dva*2; //1*2^step
     delo:=delo+dva;//складываем
     end;
   end;
  2: Write('Переведите его в десятичную систему счисления:');
  read(desP);
  if desP=delo then
   writeln('Правильно!')
  else
   begin
    writeln('Не правильно, попробуйте еще');
    goto 2;
   end;
  end
  else
   writeln('Некоректный выбор');
end.
Помогите составить программу из 10 в 16 (и обратно) на С/С++. Не доходит...

Добавлено через 3 минуты
Я 1 курс... Если можно, то с пояснениями...

 Комментарий модератора 
Используйте теги форматирования кода!


Добавлено через 3 часа 22 минуты
Помогите, очень срочно надо...
А то сам никак не разберусь...=((((

Добавлено через 23 часа 53 минуты
Срочно очень надо!
Возможно вознаграждение... очень надо!
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.10.2011, 19:57     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #5
Вот хороший алгоритм для работы с системами счисления
/cpp-beginners/thread347770.html#post1958349
Для систем счисления с основаниями, равных степени двойки, лучше, конечно, с битами работать.
Krotik
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 43
20.10.2011, 20:07  [ТС]     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. #6
Спасибо!
А можно написать целый код на С++!!! Очень срочно надо!!! А то все равно не очень понятно до конца...

Чтобы под условие вышеописанной задачи подходило.
Нужна программа для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. Программа должна предлагать десятичное (16-ричное) число, выбранное с помощью датчика случайных чисел, обучающийся – назвать это число в 16-ричной (десятичной) системе счисления. Причем, должен быть контроль за временем на размышление.

Как это все в одну программу загнать? Чтобы сначала можно было выбрать направление перевода, либо из 10 в 16, или наоборот... Через датчик случайных чисел... А потом можно было вводить число, и показывало, правильный ответ или нет... Ну и время естественно...
Yandex
Объявления
20.10.2011, 20:07     Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно.
Ответ Создать тему
Опции темы

Текущее время: 04:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru