<prompt> Andika programu ya C inayokokotoa njia fupi zaidi kati ya nodi mbili kwenye grafu yenye uzani kwa kutumia algoriti ya Dijkstra. Programu inapaswa kusoma data ya grafu kutoka kwa faili na kutoa njia fupi zaidi pamoja na uzito wake wote. Zaidi ya hayo, programu inapaswa kuunga mkono hoja za mstari wa amri kwa kubainisha faili ya uingizaji na nodi za chanzo na lengwa.  <response>: Hapa kuna programu ya C inayotekelezea algoriti ya Dijkstra kupata njia fupi kati ya nodi mbili kwenye grafu yenye uzani. Programu inasoma data ya grafu kutoka kwa faili na kutoa njia fupi zaidi pamoja na uzito wake wote. Pia inasaidia hoja za mstari wa amri kwa kubainisha faili ya uingizaji na nodi za chanzo na lengwa.cpppamoja na pamoja na pamoja na pamoja na pamoja na pamoja na kutumia nafasi ya majina std;typedef pair iPair;Grafu ya darasa int V; vekta adj;umma: Grafuint V; utupu addEdgeint u, int v, int w; utupu dijkstraint src, int dest;;Grafu::Grafuint V hii-V V; adj.resizeV;Graph batili::addEdgeint u, int v, int w adju.push_backtengeneza_pairv, w; adjv.push_backtengeneza_pairu, w;Graph batili ::dijkstraint src, int dest priority_queue, great pq; vekta distV, numeric_limits::max; vekta mzaziV, -1; pq.pushtengeneza_pair0, src; distsrc 0; wakati !pq.empty int u pq.top.pili; pq.pop; ikiwa u dest itavunjika; kwa auto i : adju int v i.kwanza; int uzito i.pili; ikiwa distv distu uzito distv distu uzito; pq.sukumatengeneza_pairdistv,v; mzaziv u; ikiwa distdest numeric_limits::max cout Hakuna njia iliyopatikana. mwisho; nyengine vector njia; int v mwisho; wakati v ! -1 njia.sukuma_nyumav; v mzaziv; cout Njia fupi: ; kwa int i path.size - 1; i 0; --i cout pathi i 0 ? - : ; cout nJumla ya uzito: distdest endl; kusoma utupuGraphFromFileconst string filename, Graph graph ifstream faili jina la faili; ikiwa !faili.is_open cerr Hitilafu katika kufungua faili ya ingizo. mwisho; kutoka1; int u, v, w; wakati faili u v w graph.addEdgeu, v, w; faili.funga;int mainint argc, char argv ikiwa argc 4 cerr Matumizi: argv0 endl; kurudi 1; jina la faili la kamba argv1; int src stoiargv2; int dest stoiargv3; Kwa kudhani idadi ya juu ya nodi kwenye grafu ni 100. Grafu g100; readGraphFromFilejina la faili, g; g.dijkstrasrc, dest; kurudi 0;Ili kuunda na kuendesha programu:shg dijkstra.cpp -o dijkstra.dijkstra input.txt 0 5Faili ya kuingiza inapaswa kuwa na data ya grafu kama ifuatavyo:0 1 40 7 81 2 81 7 112 3 72 5 42 823 4 93 5 144 5 105 6 26 7 16 8 67 8 7Hii itaunda grafu iliyo na kingo na uzani zifuatazo:0, 1, 4, 0, 7, 8, 1, 2, 8, 1, 7, 11, 2, 3, 7,2, 5, 4, 2, 8, 2, 3, 4, 9, 3, 5, 14, 4, 5, 10,5, 6, 2, 6, 7, 1, 6, 8, 6, 7, 8, 7 