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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ friend function http://www.cyberforum.ru/cpp-beginners/thread653735.html
Помогите плз разобраться: Когда я делаю инкремент "х" через закрытые функции класса - все работает нормально, а когда через функцию-друга, то он просто не увеличивает. =( header-file #ifndef TRAIN #define TRAIN #include <iostream> #include <cstring>
C++ Массивы подсчёт max и min от rand До меня никак не доходит всё что ниже строчки min_value = list(зачем присваем именно первый элемент массива, зачем делаем вот это:if(min_value > list) min_value = list; ); Объясните мне пожалуйста #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_ALL,"Russian"); int i, min_value, max_value; http://www.cyberforum.ru/cpp-beginners/thread653734.html
If else statement (continue) C++
Простите - не пойму как форматировать код, копируемый с (С++). Всё исправлено - досихпор какие - то ошибки у меня Выдаёт - The weight class is 2293564 and fee $ 0.00 Please Help!!! #include <iostream> using namespace std;
If else statement C++
Стоит задача пл году машины и весу присвоить весовой номер и стоимость (таксы). #include <iostream> using namespace std; int main( ) { int year, weight, weight_class; double fee;
C++ Программа, которая по числовому значению оценки выставляет Grade (A, B, C, D или F) http://www.cyberforum.ru/cpp-beginners/thread653709.html
Привет всем. Написаня программа, кот должна по числовому значению оценки выставлять -Grade (A, B, C, D или F). считает правильно только для первых 2-х остальным присваивает только B. #include <iostream> using namespace std;
C++ Верхняя и нижняя граница типов Здравствуйте, подскажите пожалуйста есть ли в С++ функции подобные low и high из Pascal, чтобы узнать верхние и нижние значение типа. ( // INT_MAX и INT_MIN. не подходит, мне нужны именно функции) begin writeln(low(integer),' ',high(integer)); writeln(low(boolean),' ',high(boolean)); writeln(low(longint),' ',high(longint)); end. result: подробнее

Показать сообщение отдельно
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13
18.09.2012, 10:38     Задача: конвертация из одной системы счисления в другую
Описание

Имеются 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 систему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru