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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 17:47   #21
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

изменения происходят, когда вставляешь текст из файла
Dimarik вне форума Ответить с цитированием
Старый 27.08.2009, 17:57   #22
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Dimarik
изменения происходят, когда вставляешь текст из файла
Вероятнее всего это символ перевода строки "дешифруется". У него код 13, а у плюса 43. 13 + 30 = 43 - все сходится.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.08.2009, 17:58   #23
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

получается так. открывающа скобка имеет код 40. + имеет код 43, пробел имеет код 32.

Sazary, что тогда сделать?

Последний раз редактировалось Sazary; 27.08.2009 в 18:05.
Dimarik вне форума Ответить с цитированием
Старый 27.08.2009, 18:05   #24
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.08.2009, 19:43   #25
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

только непонятно, откуда мог взяться символ конца строки с кодом 13, если нигде не было символа с кодом 43.
может ещё какие-то символы могут лишние появиться, если использовать другое число, отличное от 30. но какие? и как их все учесть?
самое первое что напрашивается - это условие if, но если при дешифровке я напишу if (a[i]<32) return; то у меня не будут расшифрованы символы с кодами, например, 29 (а этот символ до шифровки имел код 59.
так что это как-то не хорошо.
Dimarik вне форума Ответить с цитированием
Старый 27.08.2009, 22:57   #26
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Я вот такой пример накидал. В теории должен работать. Проверить не могу, билдера нет.
Код:
// Шифровка
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	int i = 1;
	unsigned int len = Memo1->Text.Length();
	int k = StrToInt(Edit1->Text);
	AnsiString 
		result = "", 
		source = Memo1->Text;
	
	for(; i <= len; i++)
		result += (char)((unsigned int)source[i] + k);

	Memo1->Text = result;
}


// Дешифровка
void __fastcall TForm1::Button2Click(TObject *Sender)
{
	int i = 1;
	unsigned int len = Memo1->Text.Length();
	int k = StrToInt(Edit1->Text);
	AnsiString 
		result ="", 
		source = Memo1->Text;
	
	for(; i <= len; i++)
		result += (char)((unsigned int)source[i] - k);

	Memo1->Text = result;
}
psycho-coder вне форума Ответить с цитированием
Старый 28.08.2009, 12:45   #27
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

ПИСХО-КОДЕР, твой вариант работает, но не при всех числах. для проверки достаточно вставить какой-нибудь большой текст (это для того , чтобы были символы с разной кодировкой). в итоге - ерунда. не все символы кодируются. куча символов куда-то исчезает
Dimarik вне форума Ответить с цитированием
Старый 28.08.2009, 14:50   #28
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

http://mmb.mediachance.com/mmbhelp/r...asciitable.htm вот ссылка. это на таблицу ASCII
** Значениями 0-32 и 127 закодированы непечатаемые символы. Они не имеют графического представления, но в зависимости от приложения, могут влиять на отображение текста.
как-то эти символы надо обойти, по идее. ведь написано: могут повлиять на отображение текста, получается, что именно из-за них и получается из 240 символов только 55.
Dimarik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ascii код dollemika Помощь студентам 2 29.04.2009 20:07
ASCII коды Strogg Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.04.2009 17:09
paskal ascii netcher Помощь студентам 1 03.03.2009 12:45
ASCII в ANSI JRcoker Общие вопросы Delphi 5 03.08.2008 15:49
Перекодировка из ASCII Dimo444ka Помощь студентам 2 25.05.2008 13:22