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

Перевод чисел из 10очной системы счисления в 3ую - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вычислить значение функции, используя ряд тейлора http://www.cyberforum.ru/cpp-beginners/thread692093.html
Написать программу на языке C в среде Microsoft Visual Studio 2010 C++, реализующую предложенное вариантом задание (вычислить значение функции, используя ряд тейлора). Исходные данные задаются путем...
C++ Объекты и классы Добрый день . Помогите написать пожалуйста ... Пункт приема платежей за проезд по автостраде. Платеж составляет 50 рублей, но есть машины, которые проезжают бесплатно. Необходимо написать... http://www.cyberforum.ru/cpp-beginners/thread692083.html
Обходы графа C++
Ребят, помогите с курсачом по Дискретной математике. Задача у меня такая: Имеется N городов, соединенных сетью дорог. Заданы длины участков дорог между парами городов. Спроектировать структуру...
Выражения из скобок C++
Построить все правильные скобочные выражения . На входе число - на выходе все строки Например 2 () 4 ()() (()) 6 ()()() ()(())
C++ Определить символ, встречающийся в тексте с максимальной частотой http://www.cyberforum.ru/cpp-beginners/thread692051.html
Дана строка длиной не более 80 символов, оканчивающаяся точкой. Нужно определить символ, встречающийся в тексте с максимальной частотой.
C++ Черепашья графика Текст задачи из учебника Дейтела: Язык Лого, особенно популярный среди пользователей персональных компьютеров, сделал знаменитой черепашью графику. Представьте себе механическую черепаху, которая... подробнее

Показать сообщение отдельно
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 109
Завершенные тесты: 1
08.11.2012, 22:42
В википедии же есть алгоритм перевода...

Вот так:
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
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale(LC_ALL,"Rus");
    
    int chislo;
 
    cout<<"Введите число, которое необходимо перевести(из 10-ой в 3-ую): ";
    cin>>chislo;
 
    int ostatok;
 
    while(chislo>0)
    {
        ostatok=chislo%3;
        chislo/=3;
        cout<<ostatok;
    }
 
    cout<<endl;
 
    return 0;
}

Теперь все это надо вывести наоборот: справа налево. Например, через вектор, или дин. массив. Для вектора вот так:
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
#include<iostream>
#include<vector>        //для
using std::vector;      //вектора
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale(LC_ALL,"Rus");
    
    int chislo;
 
    vector<int>ivec;    //создаем пустой вектор
 
    cout<<"Введите число, которое необходимо перевести(из 10-ой в 3-ую): ";
    cin>>chislo;
 
    int ostatok;
 
    while(chislo>0)
    {
        ostatok=chislo%3;
        chislo/=3;
        ivec.push_back(ostatok);    //здесь записываем остаток в вектор
    }
 
    //выводим справа налево:
 
    for(vector<int>::size_type i=ivec.size()-1; ;--i)
    {
        cout<<ivec[i];
 
        if(i==0)    //если вектор пуст, завершаем цикл
            break;
    }
    cout<<endl;
 
    return 0;
}
1
Миниатюры
Перевод чисел из 10очной системы счисления в 3ую   Перевод чисел из 10очной системы счисления в 3ую   Перевод чисел из 10очной системы счисления в 3ую  

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