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

Переписать с C# на C++ - C++

Восстановить пароль Регистрация
 
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
15.07.2012, 18:09     Переписать с C# на C++ #1
Уважаемые знатоки, помогите перевести данный код на с++
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
using System.Text;
 
// Чтобы не усложнять код, не проверяю входные параметры на корректность.
public class Hex
{
    private const string VALUES = "0123456789ABCDEF"; // Массив для перевода числа в нужное написание и наоборот.
 
    private int count; // Количество значущих цифр.
    private char[] array;
 
    private Hex(char[] array, int count)
    {
        this.array = array;
        this.count = count;
    }
    public Hex(string number, int max)
    {
        // Свято верю, что входные параметры правильные.
        array = new char[max];
        count = number.Length;
        for (int i = 0; i < count; i++)
            array[i] = number[count - i - 1]; // Младшая цифра в младшем разряде.
    }
 
    public override string ToString()
    {
        StringBuilder builder = new StringBuilder();
        for (int i = count - 1; i >= 0; i--)
            builder.Append(array[i]);
        return builder.ToString();
    }
 
    public static Hex operator +(Hex left, Hex right)
    {
        // Традиционный алгоритм сложения двух чисел в длинной арифметике.
        if (left.count < right.count)
            return right + left;
        int count = left.count;
        char[] array = new char[left.array.Length];
        int carry = 0, value;
        for (int i = 0; i < left.count; i++)
        {
            value = VALUES.IndexOf(left.array[i]) + (i < right.count ? VALUES.IndexOf(right.array[i]) : 0) + carry;
            carry = 0;
            if (value > 15)
            {
                carry = value / 16;
                value %= 16;
            }
            array[i] = VALUES[value];
        }
        if (carry > 0)
        {
            count++;
            array[left.count] = VALUES[carry];
        }
        return new Hex(array, count);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2012, 18:09     Переписать с C# на C++
Посмотрите здесь:

Переписать код C++
переписать программу с с# на с++ C++
Помогите переписать C++
Переписать код с Си C++
C++ Переписать с C# в C++
переписать 2 строчки на c++ C++
Переписать из С# в С++ C++
Переписать из Паскаля в С++ C++

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

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

Текущее время: 10:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru