С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 14.08.2022
Сообщений: 3
1

Перевод дешифратора C# на C++

14.08.2022, 20:44. Показов 811. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
public static string Decrypt(string FileName) {
            string text = "";
            byte[] bit = File.ReadAllBytes(FileName);
            byte[] bits = new byte[bit.Length];
            text += (char)(byte)(bit[0] - 66);
            for (int i = 1; i < bit.Length; i++) {
                bits[i] = (byte)(bit[i] - bit[i - 1]);
                text += (char)bits[i];
            }
            return text;
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2022, 20:44
Ответы с готовыми решениями:

Построение дешифратора
Здравствуйте, подскажите, пожалуйста, как сконструировать на логике И-НЕ схему дешифратора 1-2-3 -&gt;...

Создание дешифратора
Есть .txt документ со следующим набором данных: BSDKSLPRK (к примеру). Где: BSD - это а...

Схема дешифратора
как выглядит схема дешифратора двухразрядного двоичного кода в десятичный в базисе ИЛИ-НЕ? как её...

Каскадирование дешифратора
Построить дешифратор споектировать 5 на 20 на ИМС 2 на 4

Наращивание дешифратора
Задание: Используя 8 корпусов микросхем К155ИД3, 1 корпус микросхемы К155ИД4 и необходимые...

3
4865 / 2664 / 913
Регистрация: 29.11.2010
Сообщений: 5,745
14.08.2022, 22:59 2
Лучший ответ Сообщение было отмечено Nikolas282 как решение

Решение

Что-то типа такого...
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 <string>
#include <iostream>
#include <fstream>
#include <iterator>
 
template<typename Iterator>
std::string decrypt(Iterator begin, Iterator end, char magicNumber = 66) {
    std::string result{};
    if (begin == end) {
        return result;
    }
    char last = *begin++ - magicNumber;
    result += last;
    while (begin != end) {
        char current = *begin++;
        result += current - last;
        last = current;
    }
    return result;
}
 
int main() {
    std::ifstream in("../main.cpp.cin");
    in >> std::noskipws;
    std::cout << decrypt(std::istream_iterator<char>(in), std::istream_iterator<char>());
    return 0;
}
2
1 / 1 / 0
Регистрация: 14.08.2022
Сообщений: 3
15.08.2022, 08:48  [ТС] 3
Да это полностью сработало но есть небольшая ошибка во втором символе при декодировании
там как я понял где цикл добавления символов он уже должен начинаться не с начала всех байтов а с уже 1 потому что мы начали первый байт уже записали как
C++
1
char last = *begin++ - magicNumber;
это был 1 а последующие начинаться должны от 1 это был как начальный байт у него нет нет байта который стоит передним вот и вычитаем от него константу 66.
Миниатюры
Перевод дешифратора C# на C++  
1
4865 / 2664 / 913
Регистрация: 29.11.2010
Сообщений: 5,745
17.08.2022, 12:33 4
Действительно, что-то я погорячился с вычитанием.
Надеюсь, сможете отладить? )

Подозреваю, что сделал лишнее вычитание.
Цитата Сообщение от lemegeton Посмотреть сообщение
char last = *begin++ - magicNumber;
result += last;
Возможно так:
C++
1
2
char last = *begin++;
result += last  - magicNumber;
0
17.08.2022, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2022, 12:33
Помогаю со студенческими работами здесь

Выбор дешифратора
Ребят,помогите пожалуйста выбрать дешифратор,чтобы с к155ир1 последовательно выходящий адрес входил...

Реализация дешифратора в Quartus II
Моделирую дешифратор 4х16 Вот часть схемы В результате получается такая временная диаграмма ...

УГО и назначение дешифратора
Добрый день. На схемке изображена КОМБИНАЦИОННОЕ устройство Дешифтратор K155ИД3. Мне нужно УГО,...

Atmega16 программа дешифратора
Доброго времени суток всем форумчанам. Потребовалось подключить десяток 8-и сегментных индикаторов...

Функциональная схема дешифратора
Минимизировано два уравнения y0=не(x0)*x1*не(x2)*не(x3)*x4*x5*x6*не(x7)*x8...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru