"#include" \n#include" \n#include" \n#include" \n\nclass NeuralNetwork {\n public:\n NeuralNetwork() : weights1({{0.5, 0.3}, {0.8, 0.2}}), weights2({0.4, 0.9}), bias1({0.1, 0.1}), bias2(0.1) {}\n\n std::vector predict(std::vector input) {\n std::vector hiddenLayer(outputSize1);\n std::vector outputLayer(outputSize2);\n\n // Hidden Layer\n for (int i = 0; i < outputSize1; i++) {\n double sum = bias1[i];\n for (int j = 0; j < inputSize; j++) {\n sum += input[j] * weights1[j][i];\n }\n hiddenLayer[i] = sigmoid(sum);\n }\n\n // Output Layer\n for (int i = 0; i < outputSize2; i++) {\n double sum = bias2;\n for (int j = 0; j < outputSize1; j++) {\n sum += hiddenLayer[j] * weights2[j];\n }\n outputLayer[i] = sigmoid(sum);\n }\n\n return outputLayer;\n }\n\n private:\n std::vector<std::vector> weights1;\n std::vector weights2;\n std::vector bias1;\n double bias2;\n int inputSize = 26; // Number of letters in alphabet\n int outputSize1 = 2; // Number of neurons in hidden layer\n int outputSize2 = 2; // Number of neurons in output layer\n\n double sigmoid(double x) {\n return 1 / (1 + exp(-x));\n }\n};\n\nclass ChatBot {\n public:\n ChatBot() : neuralNetwork() {}\n\n std::string getResponse(std::string input) {\n std::vector inputVector;\n for (char c : input) {\n inputVector.push_back((double)(c - 'a') / ('z' - 'a'));\n }\n\n std::vector prediction = neuralNetwork.predict(inputVector);\n double maxProb = std::max(prediction[0], prediction[1]);\n\n if (maxProb == prediction[0]) {\n return "是的";\n } else {\n return "不是";\n }\n }\n\n private:\n NeuralNetwork neuralNetwork;\n};\n\nint main() {\n ChatBot chatBot;\n\n while (true) {\n std::string input;\n std::cout << "你的问题:";\n std::getline(std::cin, input);\n std::string response = chatBot.getResponse(input);\n std::cout << "机器人回答:"; << response << std::endl;\n }\n\n return 0;\n}\n"