d)
{(int i = 0; i
{(v [i] == id) return true;
} false;
} toguess :: findInVector (std :: vector v, int id)
{(int i = 0; i
{(v [i]. id == id) return true;
} false;
} toguess :: getResponse (int id)
{
// спроба отримати відповідь
// Відповідь є, якщо різниця між імовірністю двох, на даний
// момент найбільш підходящих, відповідей більше якийсь константи
if (Tresponses [Tresponses. size () - 1]. probability-Tresponses [Tresponses. size () - 2]. probability> = 0.05 | | id <0)
{//відповідь естьTresponses. size () - 1;
} return 0;
} * toguess :: getfResponse (int id)
{Tresponses [id]. response;
} toguess :: setResponse (int id, bool flag)
{
// if (flag)
// responses [id]. probability + = 0.001;
} toguess :: newResponse (char * response)
{(int i = 0; i
{(strcmp (responses [i]. response, response) == 0) return;
}
// Додавання новго відповіді в базу;
s_response thisResponse;. idQuest = donequest;. probability = 0.001;. response = response;. push_back (thisResponse);
}
void toguess :: save ()
{//деструктор
// збереження бази
FILE * file = fopen ("responses. txt", "w"); (! file)
{<<"Error!" <
} (int i = 0; i
{(file, "% s /% i", responses [i]. response, responses [i]. idQuest. size ()); (int j = 0; j
} (file); file1 ("questions. txt"); (file1. fail ())
{<<"Error!" <
} (int i = 0; i
{<<"/" <
}
} toguess :: newQuestion (char * q)
{
// нове питання <<"Введіть запитання, який дозволить відрізнити" <> _newQ; * newQ = new char [strlen (_newQ)]; (newQ, _newQ); _question thisQuestion;