Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что делает этот код и как его расшифровать?

SR INT Ученик (75), на голосовании 3 месяца назад
Сюда не влез.
Вот код - https://pastebin.com/vVzEsqQ3
Голосование за лучший ответ
Elepsis Eclipse Гений (67296) 4 месяца назад
Какая-то разновидность Кода гопника
Надо для начала заменить все японские символы на указнные аналоги из C++, чтобы вообще пытаться разобрать.
SR INTУченик (75) 4 месяца назад
А как это сделать? Не вручную же...
Elepsis Eclipse Гений (67296) SR INT, В какой-то степени... Современные редакторы кода позволяют одной кнопкой заменить все встречающие подстроки в коде на что-то другое... минут за 5 можно скопировать - заменить на с++ версию)
speexz Гуру (4360) 4 месяца назад
Декодированный пример программы на C++:
 #include  
#include
#include
using namespace std;

int sumOfDigits(int number) {
int amount = 0;
if (number == 0) {
return 0;
}
while (number > 0) {
amount += number % 10;
number /= 10;
}
return amount;
}

void thetaFunction(string str1, string str2) {
char table[26] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
unsigned char temp1, temp3;
int temp2, length;
if (str1.length() <= str2.length()) {
length = str1.length();
} else {
length = str2.length();
}
for (int i = 0; i <= length; i++) {
if (i % 2 == 0) {
temp1 = str1[i];
temp2 = sumOfDigits(temp1);
cout << table[temp2];
} else {
temp1 = str2[i - 1];
temp2 = sumOfDigits(temp1);
cout << table[temp2];
temp1 = str1[i];
temp2 = sumOfDigits(temp1);
cout << table[temp2];
}
temp1 = str2[length - i];
temp3 = str1[length - i];
temp2 = sumOfDigits(temp1) + sumOfDigits(temp3);
cout << temp3;
}
}

int main() {
setlocale(LC_ALL, "ru");
string str1, str2;
int zeroOrOne, oddVar, year;
bool isFeb;
oddVar = 1;
markedPlace:
cout << "One or zero?" << endl;
cin >> zeroOrOne;
if (zeroOrOne == 26) {
cout << "February?" << endl;
cin >> isFeb;
if (isFeb) {
cout << "Year??" << endl;
cin >> year;
if (year == 1936) {
for (int i = 0; i < 404; i++) {
cout << "KODOHA!!!" << endl;
Beep(404, 80);
if (i >= 99) {
cout << endl << "CRITICAL ERROR!!!" << endl << endl << endl;
goto markedPlace;
}
}
} else {
cout << "Failed!" << endl << endl;
goto markedPlace;
}
} else {
cout << "Failed!" << endl << endl;
goto markedPlace;
}
}
while (zeroOrOne < 0 || zeroOrOne > 1) {
oddVar++;
cout << "One or zero";
for (int i = 0; i < oddVar; i++) {
cout << "?";
}
cout << endl;
cin >> zeroOrOne;
}
if (!zeroOrOne) {
cin >> str1;
cin >> str2;
} else {
cout << endl << endl << "TENNO HEIKA BANZAI!!! " << endl << endl << endl;
str1 = "Animeee";
str2 = "Shinto";
}
thetaFunction(str1, str2);
cout << endl << endl << endl;
}
speexzГуру (4360) 4 месяца назад
Описание работы:

Программа сначала запрашивает ввод числа (0 или 1).

Если введено значение 26, выполняется специальная секция кода, которая спрашивает, является ли месяц февралем, и затем год, с определенными проверками.

В случае некорректного ввода или выполнения, программа возвращается к метке markedPlace.

Программа использует функцию thetaFunction для манипуляции строками, выводя измененные символы на экран.

Если введено значение 0 или 1, происходит дополнительный ввод строк, либо устанавливаются значения по умолчанию.

Затем вызывается thetaFunction для обработки введенных или установленных строк.
Похожие вопросы