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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13
#1

Задача: конвертация из одной системы счисления в другую - C++

18.09.2012, 10:38. Просмотров 493. Ответов 0
Метки нет (Все метки)

Описание

Имеются 2 цифры в разных системах счисления, цель задачи найти, в каких системах счисления 2 цифры равны. Например, 12 и 5, в десятичной системе счисления они не равны, но 12 в 3-чной системе счисления и 5 в 6-чной или десятичной системе счисления равны между собой.

Input

Вводятся два числа M и N ( которые в десятичной системе не превышают 1000000000), системы счисления находятся в диапазоне 2~36. Для чисел меньше 10 использовать цифры 0~9, для чисел больше 10 использовать заглавные буквы A~Z.

Output

Вывести в каких системах счисления M и N равны. Если равны, вывести соответствующий результат (если результатов несколько, вывести тот результат, в котором система счисления наименьшая), если не равны, вывести ошибку.

Например, Input:
12 5↵

Output:
12 (base 3) = 5 (base 6)↵

Мой код:

C++
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
 
#define MAXLINE 1000
 
char *itob(int n, char *s, int b)
{
    int i, sign;
    static char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
    char *reverse(char *s);
 
    sign = n;
    i = 0;
    do {     
        s[i++] = digits[ abs(n % b) ];
    } while ((n /= b) != 0);    
    if (sign < 0)
        s[i++] = '-';
    s[i] = '\0';
    return reverse(s);
}
 
char *reverse(char *s)
{
    int c, i, j;
 
    for (i = 0, j = strlen(s)-1; i < j; i++, j--)
        c = s[i], s[i] = s[j], s[j] = c;
    return s;
}
 
int main() {  
  
  char s[MAXLINE];
  int m, n;
 
  scanf("%d %d", &m, &n);
  printf("%s\n", itob(m, s, 3)); // preobrazovat m iz 10 sistemi v 3 sistemu
  printf("%s\n", itob(n, s, 6)); // preobrazovat n iz 10 sistemi v 6 sistemu
 
  printf("\n");
  system("PAUSE");
  return 0;  
}
в этом коде цифра в 10 системе преобразуется в другую систему, а как сделать наоборот, цифру из другой системы преобразовать обратно в 10 систему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 10:38     Задача: конвертация из одной системы счисления в другую
Посмотрите здесь:

Перевести число из одной системы счисления в другую - C++
Ребят, помогите, уже неделю бьюсь головой об ноут... Нам дали задачу написать прогу, которая будет переводить число из любой системы...

Перевод чисел из одной системы счисления в другую - C++
0x1f, 0x20. Как такого типа числа привести в десятичную систему счисления, чему они равны в десятичной системе?? Как записать эти числа в...

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

Перевод чисел из одной системы счисления в другую - C++
Здравствуйте. Помогите, пожалуйста, доделать программу. Условие: перевод чисел из десятичной сисетмы счисления в другую. Помогите...

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

Перевод чисел из одной системы счисления в другую - C++
Задание: Написать программу на языке С++ для переведа числа, представленного в системе счисления с основанием S, в системы счисления с ...

Программа, переводящая число из одной системы счисления в другую - C++
Вопрос заключается в следующем. По условиям задачи, мне необходимо перевести число из двоичной системы счисления в десятичную. Я вроде знаю...

Перевод десятичных дробей из одной системы счисления в другую - C++
Как переводить дробь из одной системы счисления в другую я знаю. Но есть такая проблема: дробь 0.1 в десятичной системе имеет следующий...

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

Перевод целых чисел из одной системы счисления в другую - C++
Помогите пожалуйста написать толковый код по переводу с одной системы счисления в другую, в моем случае:С ШЕСТНАДЦАТЕРИЧНОЙ В ВОСЬМЕРИЧНУЮ....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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