Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
1

Преобразование десятичного числа в троичное, и деление этого числа на 2

15.11.2014, 12:23. Показов 1319. Ответов 13
Метки нет (Все метки)

преобразование десятичного числа в троичное число и деление этого числа на 2(как я понял десятичную).
результат деления представить в троичной форме.результат представить в виде: (частное|остаток)
как это сделать?

Добавлено через 52 секунды
буду благодарен за какую-нибудь информацию....
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2014, 12:23
Ответы с готовыми решениями:

Преобразование знакового десятичного числа типа байт в троичное со знаком
Здравствуйте. Помогите написать процедуру преобразования знакового десятичного числа типа байт в...

Из десятичного числа создать символьную строку с двоично десятичным кодом этого числа
Условие: Разработать функцию, которая из десятичного числа создает СИМВОЛЬНУЮ СТРОКУ с двоично...

Деление десятичного числа на 10, пока частное не равно 0
Здравствуйте, суть задачи в том, чтобы определить количество определенной цифры в десятичном числе...

Преобразование десятичного числа.
Помогите решить задачу: Заданному десятичному числу сопоставить список цифр его 16-ричного...

13
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 13:48 2
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
using System;
using System.Text;
 
namespace ConsoleApplication
{
    internal class Program
    {
        private static void Main()
        {
            Console.WriteLine(Convert2Ternary(-25.123));
        }
 
        /// <summary>Перевод числа из десятичной в троичную систему счисления</summary>
        /// <param name="dec">Десятичное число</param>
        /// <param name="accuracy">Количество знаков после запятой</param>
        /// <returns>Число в троичной системе счисления</returns>
        private static string Convert2Ternary(double dec, uint accuracy = 3)
        {
            const int Basis = 3; // Меняем число - получаем разное основание
 
            double module = Math.Abs(dec); // Модуль числа
            var integerPart = (int)Math.Truncate(module); // Целая часть
            double fractionalPart = module - integerPart; // Дробная часть
 
            var result = new StringBuilder();
 
            // Нахождение целой части
            while (Math.Abs(integerPart) > 0)
            {
                result.Insert(0, integerPart % Basis);
                integerPart /= Basis;
            }
 
            // Нахождение дробной части
            if (accuracy > 0)
            {
                result.Append(".");
            }
            while (accuracy > 0)
            {
                fractionalPart *= Basis;
                result.Append(Math.Truncate(fractionalPart));
                fractionalPart -= Math.Truncate(fractionalPart);
                accuracy--;
            }
 
            // Формирование результата
            if (result.Length == 0)
            {
                result.Append("0");
            }
            return dec < 0 ? "-" + result : result.ToString();
        }
    }
}
1
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 462
15.11.2014, 14:09 3
C#
1
2
3
4
5
6
        public int toT(int numb, int ost=0) {
            ost = int.Parse((numb%3) + "" + ost.ToString()); numb/=3;
            if (numb == 0) { return ost; } return toT(numb,ost);
        }
......
toT(1500);
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 14:15  [ТС] 4
нажимаю начать отладку консоль быстро открывается и вылетает.студия 10 express
и что это?:
C#
1
2
3
4
private static void Main()
        {
            Console.WriteLine(Convert2Ternary(-25.123));
        }
0
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 14:19 5
Цитата Сообщение от Gmails Посмотреть сообщение
и что это?:
Это тебе следует взять книгу по C# и прочитать первую главу.
После третьей строки допиши:
C#
1
Console.ReadKey(true);
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 14:27  [ТС] 6
писал не помогает.и после последнего if ставил,все равно быстро закрывает.
а какую книгу почитать?
0
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 14:38 7
Цитата Сообщение от Gmails Посмотреть сообщение
писал не помогает.и после последнего if ставил,все равно быстро закрывает.
Т.е. даже если изменить так с 8-ой по 17-ую строку:
C#
1
2
3
4
5
6
7
private static void Main()
{
    Console.WriteLine(Convert2Ternary(-25.123, 3));
    Console.ReadKey(true);
}
 
private static string Convert2Ternary(double dec, uint accuracy)
Ничего не работает?

Цитата Сообщение от Gmails Посмотреть сообщение
а какую книгу почитать?
Литература для новичков

Цитата Сообщение от Gmails Посмотреть сообщение
студия 10 express
А почему не Visual Studio Community 2013 с обновлением 4?

Добавлено через 1 минуту
И вообще можно оформить DreamSpark.
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 14:39  [ТС] 8
какая переменная отвечает за результат в троичной форме?
0
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 14:42 9
Цитата Сообщение от Gmails Посмотреть сообщение
accuracy это остаток?
Цитата Сообщение от I2um1 Посмотреть сообщение
/// <param name="accuracy">Количество знаков после запятой</param>
Комментарии же есть.
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 14:44  [ТС] 10
какая переменная отвечает за результат в троичной форме?
0
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 14:45 11
C#
1
var result = new StringBuilder();
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 14:51  [ТС] 12
к примеру ввожу:10(10 десятичная форма)
перевод в 3-ичную:101.000(все отлично работает)
дальше мне нужно:101.000 поделить на 2(десятичную)и результат представить в 3-чной форме, в таком виде частное|остаток).

Добавлено через 4 минуты
то есть мне нужно result/=2; потом Convert2Ternary(result, 3);как мне достать result из функции?
0
Злой няш
2105 / 1494 / 559
Регистрация: 05.04.2010
Сообщений: 2,869
15.11.2014, 14:56 13
Лучший ответ Сообщение было отмечено Gmails как решение

Решение

Цитата Сообщение от Gmails Посмотреть сообщение
(как я понял десятичную)
Исходя из этого, то:
C#
1
2
3
4
5
6
7
private static void Main()
{
    double number = double.Parse(Console.ReadLine());
    Console.WriteLine("Число в троичной системе: {0}", Convert2Ternary(number, 3));
    Console.WriteLine("После деления на 2: {0}", Convert2Ternary(number / 2, 3));
    Console.ReadKey(true);
}
Добавлено через 56 секунд
Цитата Сообщение от Gmails Посмотреть сообщение
частное|остаток
Можешь просто точку заменить на этот символ, если критично.
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
15.11.2014, 15:13  [ТС] 14
все отлично работает,большое спасибо))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2014, 15:13

Преобразование десятичного числа в шестнадцатиричное
Нашел на форуме вот такую программку: string inttohex(int a) { string tmp(&quot;&quot;); do ...

Преобразование десятичного числа в двоичное
Написать консольное приложение которое преобразует введенное пользователем с клавиатуры десятичное...

Преобразование десятичного числа в двоичное
Всем доброго времени суток, данное задание на форуме видел, но там другая проблема была. Не могу...

Преобразование десятичного числа в шестнадцатиричное
Как написать функцию которая преобразут десятиричные числа в шеснадцатиричные?


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru