<prompt> Tengeneza programu ya C inayosoma faili ya maandishi iliyo na orodha ya maneno na kutoa muundo wa data ya kujaribu ili kuyahifadhi kwa ufanisi. Programu inapaswa pia kutoa kazi ya kutafuta neno katika trie na kurejesha ikiwa lipo au la.PLINFORMAT  <response>: pamoja na pamoja na pamoja na pamoja na darasa la TrieNode umma: std::shared_ptr watoto26; bool isEndOfWord; TrieNode : isEndOfWordfalse kwa int i 0; i 26; i watotoi nullptr; ;darasa la majaribio Privat: std::shared_ptr mzizi;umma: Trie : rootstd::make_shared kuingiza utupu const std::string word std::shared_ptr nodi mzizi; kwa char c: neno int index c - a; ikiwa !nodi-watotoindex nodi-watotoindex std::make_shared; nodi nodi-watotoindex; nodi-isEndOfWord kweli; utaftaji wa bool const std::string word const std::shared_ptr nodi mzizi; kwa char c: neno int index c - a; ikiwa !nodi-watotoindex kurudi kwa uwongo; nodi nodi-watotoindex; nodi ya kurudi-isEndOfWord; ;int main Jaribu kujaribu; std::ifstream inputFilewords.txt; ikiwa !inputFile.is_open std::cerr Hitilafu katika kufungua faili ya ingizo. std::endl; kurudi 1; std::neno la mfuatano; wakati std::getlineinputFile, neno jaribu.ingizaneno; inputFile.close; std::string searchWord; wakati kweli std::cout Ingiza neno la kutafuta au charaza toka ili kuacha: ; std::cin searchWord; ikiwa searchWord toka mapumziko; ikiwa jaribu.tafutasearchWord std::cout Neno searchWord lipo kwenye trie. std::endl; mwingine std::cout Neno searchWord halipo kwenye trie. std::endl; kurudi 0; 