Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2012, 22:25   #11
Tomogochi
Пользователь
 
Аватар для Tomogochi
 
Регистрация: 08.06.2009
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Допускаю что автор не смогля правильно выразить свои мысли. Всего-то...
Скорее всего да. Может так будет лучше:
Имеем некоторый текст и некоторую последовательность 0 и 1. Например, текст "вторая мировая война закончилась 9 мая" и последовательность 0100101. Нужно перевести строку в представление из 0 и 1 (предполагаю,что каждая буква будет представляться 8-ю разрядами). Получим строку из 37*8= 296 нулей и единиц(в предложении 37 букв). Затем последовательность 0100101 нужно достроить до 296 символов, присоединением самой себя, то есть получим строку 0100101 0100101....
И затем эти две строки поXORить.
Ну а потом уже эту строку новую вывести в буквенном представлении.
Tomogochi вне форума Ответить с цитированием
Старый 18.05.2012, 23:00   #12
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Код:
for i:=1 to Length(Text) do   // перевод строки в числовую строку
  begin
  Cha:=(Text[i]);
  Simv:=Ord(Cha);
  Simvol:=IntToStr(Simv);
  SimvStr:=SimvStr + Simvol; // получили строку из чисел
  end;
Я Вам настоятельно рекомендую разобраться с различием текста, чисел и битов друг от друга.
Давайте посмотрим, что делает приведенный кусок Вашей программы.
Для примера возьмем строку '0011010101', приведенную в первом посте.
Сначала мы извлекаем из текста первый символ, это "0".
Затем мы получаем код этого символа и присваиваем его числу Simv, этот код равен 48.
Затем мы дописываем его к строке. В результате получаем строку:
"48484949484948494849". Вы уверены, что хотели именно этого?
s-andriano вне форума Ответить с цитированием
Старый 18.05.2012, 23:09   #13
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Tomogochi Посмотреть сообщение
1. Имеем некоторый текст и некоторую последовательность 0 и 1. Например, текст "вторая мировая война закончилась 9 мая" и последовательность 0100101.
2. Нужно перевести строку в представление из 0 и 1 (предполагаю,что каждая буква будет представляться 8-ю разрядами).
3. Получим строку из 37*8= 296 нулей и единиц(в предложении 37 букв).
4. Затем последовательность 0100101 нужно достроить до 296 символов, присоединением самой себя, то есть получим строку 0100101 0100101....
5. И затем эти две строки поXORить.
Ну а потом уже эту строку новую вывести в буквенном представлении.
Чуть-чуть не так.
2 пункт не нужен.
В третьем пункте мы производим подсчеты необходимые для п.4 (строку не создаем).
4 - все правильно.
После этого разбиваем последовательность из 296 нулей и единиц на порции по 8 штук, каждую из этих порций преобразуем в один байт и этот байт ксорим с очередным символом строки. Т.е. ксорим всего 37 символов.
Результат готов.

Последний раз редактировалось s-andriano; 18.05.2012 в 23:16.
s-andriano вне форума Ответить с цитированием
Старый 18.05.2012, 23:51   #14
Tomogochi
Пользователь
 
Аватар для Tomogochi
 
Регистрация: 08.06.2009
Сообщений: 15
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
возьмем строку '0011010101', приведенную в первом посте.
Сначала мы извлекаем из текста первый символ, это "0".
Затем мы получаем код этого символа и присваиваем его числу Simv, этот код равен 48.
Затем мы дописываем его к строке. В результате получаем строку:
"48484949484948494849". Вы уверены, что хотели именно этого?
нет, я хотела это делать с тестовой строкой. Чтоб потом полученную строку "56834935353592354...",чтоб потом брать цифру и преобразовывать в восьмерку 0 и 1.

Спасибо за помощь! Вроде поняла, где ошибалась.
Tomogochi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] Изменение текста label1 из другого потока/класса GregRUS Помощь студентам 3 11.01.2012 09:24
xor текста из Memo riderpro Общие вопросы Delphi 10 09.01.2012 22:33
Поиск текста в массиве Char, массив берётся у бинарного файла(exe, dll) Человек_Борща Общие вопросы Delphi 13 08.10.2011 20:06
метод XOR для графики Valuh Помощь студентам 0 30.09.2011 16:46
xor шифрование (delphi) CAMOBAP Помощь студентам 16 11.01.2011 00:02