Декодированный пример программы на 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 для обработки введенных или установленных строк.
Вот код - https://pastebin.com/vVzEsqQ3