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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение интеграла методом трапеций http://www.cyberforum.ru/cpp-beginners/thread624115.html
Пожалуйста, напишите программу на vsc++: нахождение определенного интеграла методом трапеций.
C++ Запись в таблицу .ods матрицы чисел Как в таблицу записать матрицу, так что бы в каждой ячейке было одно число? http://www.cyberforum.ru/cpp-beginners/thread624110.html
C++ Функция Бесселя
Здравствуйте. Нужна ваша помощь. Не знаю как подступиться к задаче. Сабж: Вычислить на ЭВМ значения специальной функции f(x) (в моём случае это функция Бесселя) в нескольких точках. Для вычисления...
Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один"..."девять", начиная каждое предложение с новой строки
C++ Найти количество стрел http://www.cyberforum.ru/cpp-beginners/thread624068.html
Задана последовательность, состоящая только из символов ‘>’, ‘<’ и ‘-‘. Требуется найти количество стрел, которые спрятаны в этой последовательности. Стрелы – это подстроки вида ‘>>-->’ и ‘<--<<’. ...
C++ Послание эмуляции мыши определенному окну Здравствуйте, мне нужно послать эмуляцию нажатии клавиши мыши определенному окну: 1. Как по названию узнать hWnd окна? 2. Как послать клик определенному окну!? подробнее

Показать сообщение отдельно
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250

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

15.07.2012, 18:09. Просмотров 308. Ответов 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
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);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru