Inlämningsuppgift
Uppgiften
En programmeringuppgift skall göras i C++. Uppgiften skall lösas i grupp om 2 personer och lämnas in gemensamt av varje grupp. I år finns två alternativ till uppgift. Ni ska välja och lösa en av uppgifterna nedan.
Uppgiften ska vara inlämnad 7:e januari 2020.
Dispens för att lämna in uppgiften senare än ovan angiven dag kan beviljas om det finns starka skäl. Sådan dispens måste sökas hos kursansvarig i rimlig tid före sista inlämningsdag.
Uppgiftsalternativ
Containers, iteratorer och templates
Uppgiften handlar om att skapa en abstraktion som gör det möjligt att effektivt konkatenera containers utan att faktiskt kopiera några element.
Uppgiften ger främst träning på templates samt iteratorer och datastrukturer.
Uppgiften finns här: inl-concat.pdf
Kortaste vägen i en graf: Dijkstras algoritm
Uppgiften handlar om att implementera klasser för att beskriva en graf samt att implementera Dijkstras algorigm för att hitta kortaste vägen mellan noder i grafen.
Uppgiften ger träning på att implementera klasser och algoritmer enligt en given specifikation och att läsa från fil samt använda standardbibliotekets datastrukturer och algoritmer.
Uppgiften finns här: inl-dijkstra.pdf , exempel på testfall finns i dijkstra-test.tar.gz och en exempel-graf finns i graf.txt
Errata
Här listas fel eller oklarheter som hittats i uppgiftstexten. Om du hämtar senaste versionen från denna sida är nedanstående fel åtgärdade.
- I exemplet på sidan 3 var två variabelnamn fel:
står: first5
, läs: first7
står: res2
, läs: result
- Förtydligande att konkatenering av godtyckliga containers ska stödjas, men att inskränkningen att bara stöda två likadana containers är tillåten.
- Förtydligande att funktionaliteten i både
InputIterator
(för läsning) ochOutputIterator
(för skrivning) ska implementeras. - Lagt till ett avsnitt som sammanfattar uppgiften och kraven på lösningen