Перевести код реализации XOR с C++ Builder - C (СИ)
Формулировка задачи:
Помогите перевести код с билдера в чистый Си
или на худой конец обычный хор
... #include "math.h" ... String strText; ... void __fastcall TForm1::MathCrypt(void) { for (int i=1;i<=strText.Length();i++) { char mask=sin(i)*4000-cos(i)*250/20; strText[i]=(strText[i] ^ mask); } } ... MathCrypt(); ...
AnsiString XOR_Crypt(AnsiString in, AnsiString pass) { AnsiString out; for (int x=1;x<in.Length()+1;x++) { out += (char)(in[x] ^ pass[x%pass.Length()+1]); } return out; }
Решение задачи: «Перевести код реализации XOR с C++ Builder»
textual
Листинг программы
char *strText; void MathCrypt(void) { int i; char mask; for(i=0;i<strlen(strText);i=i+1); { mask=sin(i)*4000-cos(i)*250/20; strText[i]=strText[i]^mask; } }
Объяснение кода листинга программы
- Объявлена переменная типа char* — strText, которая будет использоваться в функции MathCrypt.
- В функции MathCrypt объявлены две переменные типа int — i и mask.
- В цикле for переменной i присваивается значение 0, а условие цикла — i<strlen(strText).
- Выполняется приведение типа cos(i) и sin(i) к int.
- Переменная mask получает значение sin(i)4000-cos(i)250/20.
- При выполнении операции ^ (XOR) между strText[i] и mask, результат записывается в strText[i].
- Выполняется инкремент i на 1.
- Цикл for повторяется до тех пор, пока i меньше длины строки strText.
- В конце функции MathCrypt переменная strText остается неизменной.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д