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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что-то после Паскаля не могу на С++ переключиться, мб кто поможет http://www.cyberforum.ru/cpp-beginners/thread998910.html
Ввести символы, формируя из них стек. Удалить элементы, равные последнему. На языке с++
C++ Класс Строка Класс Строка должен включать данное типа строка символов - S и уметь обрабатывать параметр методов типа строка символов - S1. Для этого в нём должны быть реализованы следующие операции над строками. 1.Выполнение операции “больше” для двух строк. 2.Сокращение строки S на длину строки S1 слева. 3.Замена в строке всех прописных букв русского алфавита на строчные. 4.Замена в строке первых n... http://www.cyberforum.ru/cpp-beginners/thread998897.html
Неверная запись в переменную C++
Вечер добрый, форумчане. Столкнулся с довольно странной для меня проблемой. double x1; cin>>x1; Я ввожу значение 0.2, но в переменную записываетя 0.20000000000000001. Всё бы ничего, но при сравнении этого числа уже неверный результат. Да и просто интересно стало почему же так.
C++ Дано натуральное число n, действительные числа x, y, an, bn, an-1, bn-1,.,a0, b0. Вычислить по схеме Горнера значение многочлена с комплексными коэф
Дано натуральное число n, действительные числа x, y, an, bn, an-1, bn-1,...,a0, b0. Вычислить по схеме Горнера значение многочлена с комплексными коэффициентами (an+ibn)(x+iy)^n + (an-1 + ibn-1)(x-iy)^n-1+...+(a0+ib0). (Определить процедуры выполнения арифметических операций над комплексными числами). Помогите пожалуйста!! Очень надо!! БУду благодарен!! Заранее спасибо!
C++ Написать программу с циклическим процессом http://www.cyberforum.ru/cpp-beginners/thread998877.html
Условие: подрабатывая вечером курьером, студент решил накопить сумму в S рублей для покупки компьютера. В первый месяц он отложил P рублей. Затем его вклад каждый раз был на 5% больше предыдущего вклада. Через сколько месяцев студент сможет купить компьютер. Величины S и P задавать вводом с компьютера. int main() { float s,p; int m,i; // m -количество месяцев scanf("%f%f",&s,&p); ...
C++ Не подключается gdiplusgraphics.h При подключении gdiplusgraphics.h вылезает 294 ошибки. Что делать? Какие еще хедеры надо подключать? подробнее

Показать сообщение отдельно
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
05.11.2013, 22:03     Написать программу, которая переводит число из 13-й системы счисления в 3-ю через 10-ю
Цитата Сообщение от qqqqq1 Посмотреть сообщение
Написать программу, которая переводит число из 13-й системы счисления в 3-ю через 10-ю!
Как смог))) Надеюсь кто-нибудь покажет более интересный вариант, с дробными числами например.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <map>
#include <string>
#include <cmath>
 
int main() {
        
    std::map<char, int> thirteen;
    std::map<char, int>::iterator ptr;
    thirteen.insert(std::make_pair('0', 0));
    thirteen.insert(std::make_pair('1', 1));
    thirteen.insert(std::make_pair('2', 2));
    thirteen.insert(std::make_pair('3', 3));
    thirteen.insert(std::make_pair('4', 4));
    thirteen.insert(std::make_pair('5', 5));
    thirteen.insert(std::make_pair('6', 6));
    thirteen.insert(std::make_pair('7', 7));
    thirteen.insert(std::make_pair('8', 8));
    thirteen.insert(std::make_pair('9', 9));
    thirteen.insert(std::make_pair('a', 10));
    thirteen.insert(std::make_pair('b', 11));
    thirteen.insert(std::make_pair('c', 12));
    // Fuck yeah!!!
 
    int i = 0;
    int rest;
    double denary = 0;
    char buffer[50];
    std::string str;
    std::string::iterator cur;
    std::cout << "Input 13'digit number:" << std::endl;
    std::cin >> str;
 
    if(str[0] == '0')
    {
            std::cout << "Impossible member!" << std::endl;
            exit(1);
    }
 
    cur = str.end() - 1;
    
    while(1)
    {
        if(thirteen.count(*cur) == 0)
        {
            std::cout << "Impossible member!" << std::endl;
            exit(1);
        }
        ptr = thirteen.find(*cur);
        denary += std::pow(13.0, i) * (ptr -> second);
        if(cur == str.begin())
            break;
        cur--;
        i++;
    }
    
    std::cout << "10'digit = " << denary << std::endl;
 
    std::cout << "3'digit = " << itoa(denary, buffer, 3) << std::endl;
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru