Корреляционный код в С++

91
15 октября 2019, 06:50

Есть задача, с бинарной системы исчисления провести корреляцию, то есть с 1001 должно выйти 10010110. Каждая единица это 10, а ноль это 01. Я написал/нашел программу на, консольной на С++ котороя делает это

#include "pch.h"
#include <iostream>
#include <string>
int main()
{
    std::string str;
    std::cout << "Enter a binary code\n";
    std::cin >> str;
    for (int i = 0; i < str.length(); i++)
        if (str[i] == '1')  str.insert(++i, "0");
        else str.insert(++i, "1");
    std::cout << str << std::endl;
    system("pause");
    return 0;
}

А вот мне постучали по голове и сказали что надо сделать в winforms на том же С++. Пытаясь перевести это всё на форму я столкнулся с проблемами

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

    String^ str = textBox1->Text;
    for (int i = 0; i < str->Length; i++)
        if (str[i] == '1')  str->Insert(++i, "0");
        else str->Insert(++i, "1");
    textBox2->Text = str;
    }

На кнопку я повесил обработчик который должен сразу выводить конечный результат, но выводит вводимое число, как так, и что я делаю неправильно? Вроде как по логике сначала происходит операция а потом пере-инициализация.

Answer 1

str->Insert не изменяет объект str, а только возвращает результат.

for (int i = 0; i < str->Length; i++)
    if (str[i] == '1') str = str->Insert(++i, "0");
    else str = str->Insert(++i, "1");
READ ALSO
Удаление указателя в слоте при связи destroyed()

Удаление указателя в слоте при связи destroyed()

У меня есть участок кода, который в определённых случаях генерирует ошибку, которую мне никак не удаётся понятьСвязана она с освобождением...

131
Ошибка при подключении DLL

Ошибка при подключении DLL

У меня есть DLL библиотекаВот ее код:

106
Что такое raw socket и в чем его преимущество?

Что такое raw socket и в чем его преимущество?

пытаюсь учить сетевое программирование, но пока слабо получаетсяЕсли с TCP или UDP вопрос не возникает, то с raw не могу разобраться

118
Проблемы с socket.async_accept() в boost::asio

Проблемы с socket.async_accept() в boost::asio

Пишу асинхронный TCP сервер

127