2009-02-22, 18:37
#1
Hur tycker ni det är bäst att lösa dessa uppgifter?
Om ni orkar skriva någon kod så gör de, all hjälp tas emot (:
Har en ev. lösning på det första programmet där, står efter själva handledningen
Program 1:
Scenario
Du har varit på en bangolfbana med ett antal kompisar. Det finns 18 banor och man får maximalt slå 8 slag per bana (på just denna bangolfbana). Då det var fullt med folk som rörde sig på alla banor har ni spelat banorna i en godtycklig ordning. Det är inte säkert att ni har spelat alla banor och ni kan dessutom ha spelat samma bana flera gånger. För att du skall slippa skriva in data till programmet skall programmet simulera ert spelande på följande sätt. Programmet skall slumpa ut 20 spelade banor samt antalet slag som är gjorda på just dessa banor. Alla dessa data skall lagras i den ordning de slumpas i en datastruktur angiven i respektive deluppgift. Efter detta skall programmet skriva ut de slumpade resultaten, i den ordning de är slumpade, därefter sortera resultaten och till sist skriva ut dem, sorterat, på skärmen.
OBS! Sorteringen skall ske i första hand på bannummer och i andra hand på antalet slag på banan.
Del A:
Du skall lagra resultaten i ett tvådimensionellt fält eller ett fält bestående av fält..
Del B:
Du skall lagra resulaten i ett endimensionellt fält bestående av poster. Varje enskild post skall innehålla ett resultat bestående av bannummer och antal slag.
Del C:
Man kan tänka sig att använda typen vector som finns i C++ för att lösa problemet. Gör detta.
Min eventuella lösning: En while loop på A, sen så en double variabel på och en IF-sats för avbryta när man har en nolla på B.
Program 2:
På en fil som heter TELEFONNR.TXT finns data över ett antal personer (Finns i spoilern under handledningen). Denna datamängd skall läsas in och läggas in i en cirkulär länkad lista. Datamängden skall inte stoppas in så att den är sorterad från början utan endast stoppas in allt eftersom den läses in från filen. Man kan tänka sig att alla data stoppas in just där pekaren till listan står för tillfället. Då data är inläst skall hela datamängden skrivas ut på skärmen. Därefter sorteras (utan att bygga upp en ny datastruktur), efter telefonnummer i första hand och namn i andra hand, och slutligen skrivas ut igen (sorterat).
Datastrukturen (den cirkulära listan) skall se ut på följande sätt:
http://i39.tinypic.com/nzk2e9.jpg
De krav på datastrukturen som finns är att CL endast skall vara en pekare och att de poster som finns i listan endast skall innehålla datat om personen samt en pekare till nästa post. Listan skall skapas dynamiskt (new) och innan progammet avslutas skall allt minne återlämnas (delete).
Tack på förhand
Om ni orkar skriva någon kod så gör de, all hjälp tas emot (:
Har en ev. lösning på det första programmet där, står efter själva handledningen
Program 1:
Scenario
Du har varit på en bangolfbana med ett antal kompisar. Det finns 18 banor och man får maximalt slå 8 slag per bana (på just denna bangolfbana). Då det var fullt med folk som rörde sig på alla banor har ni spelat banorna i en godtycklig ordning. Det är inte säkert att ni har spelat alla banor och ni kan dessutom ha spelat samma bana flera gånger. För att du skall slippa skriva in data till programmet skall programmet simulera ert spelande på följande sätt. Programmet skall slumpa ut 20 spelade banor samt antalet slag som är gjorda på just dessa banor. Alla dessa data skall lagras i den ordning de slumpas i en datastruktur angiven i respektive deluppgift. Efter detta skall programmet skriva ut de slumpade resultaten, i den ordning de är slumpade, därefter sortera resultaten och till sist skriva ut dem, sorterat, på skärmen.
OBS! Sorteringen skall ske i första hand på bannummer och i andra hand på antalet slag på banan.
Del A:
Du skall lagra resultaten i ett tvådimensionellt fält eller ett fält bestående av fält..
Del B:
Du skall lagra resulaten i ett endimensionellt fält bestående av poster. Varje enskild post skall innehålla ett resultat bestående av bannummer och antal slag.
Del C:
Man kan tänka sig att använda typen vector som finns i C++ för att lösa problemet. Gör detta.
Min eventuella lösning: En while loop på A, sen så en double variabel på och en IF-sats för avbryta när man har en nolla på B.
Program 2:
På en fil som heter TELEFONNR.TXT finns data över ett antal personer (Finns i spoilern under handledningen). Denna datamängd skall läsas in och läggas in i en cirkulär länkad lista. Datamängden skall inte stoppas in så att den är sorterad från början utan endast stoppas in allt eftersom den läses in från filen. Man kan tänka sig att alla data stoppas in just där pekaren till listan står för tillfället. Då data är inläst skall hela datamängden skrivas ut på skärmen. Därefter sorteras (utan att bygga upp en ny datastruktur), efter telefonnummer i första hand och namn i andra hand, och slutligen skrivas ut igen (sorterat).
Datastrukturen (den cirkulära listan) skall se ut på följande sätt:
http://i39.tinypic.com/nzk2e9.jpg
De krav på datastrukturen som finns är att CL endast skall vara en pekare och att de poster som finns i listan endast skall innehålla datat om personen samt en pekare till nästa post. Listan skall skapas dynamiskt (new) och innan progammet avslutas skall allt minne återlämnas (delete).
Kverulando, Kajsa:0123-4567
Allegrettho, Albert:0701-23456
Glissando, Gloria:0234-5678
Hysterico, Hilding:013-1234
Presto, Pelle:013-1243
Staccato, Stina:0123-4567
Tempo, Kalle A:0733-12345
Fortissimo, Folke:013-4321
Galanto, Gunnel:0733-12245
Unisono, Uno:0123-1234
Piano, Pia:013-7865
Grazioso, Grace:013-5463
Ritardando, Rita:013-3425
Nontroppo, M A:013-9876
Majestoso, Maja:0733-12344
Subito, Sune:013-5678
Xelerando, A:013-1243
Obligato, Osvald:013-9875
Jubilato, Johan:0705-12345
Espressivo, Eskil:0141-1234
Marcato, Maria:0141-1234
Dolce, Dolly:0141-1234
Legato, Lasse:013-4323
Molto, Maja:013-4322
Portato, Putte:031-1234
Parlando, Palle:0141-2143
Virtuoso, Vilhelm:013-5432
Brio, Britta Con:013-6745
Cresendo, Crister:013-9821
Dacapo, Dan:013-7865
Interludio, Inga:013-1243
Allegrettho, Albert:0701-23456
Glissando, Gloria:0234-5678
Hysterico, Hilding:013-1234
Presto, Pelle:013-1243
Staccato, Stina:0123-4567
Tempo, Kalle A:0733-12345
Fortissimo, Folke:013-4321
Galanto, Gunnel:0733-12245
Unisono, Uno:0123-1234
Piano, Pia:013-7865
Grazioso, Grace:013-5463
Ritardando, Rita:013-3425
Nontroppo, M A:013-9876
Majestoso, Maja:0733-12344
Subito, Sune:013-5678
Xelerando, A:013-1243
Obligato, Osvald:013-9875
Jubilato, Johan:0705-12345
Espressivo, Eskil:0141-1234
Marcato, Maria:0141-1234
Dolce, Dolly:0141-1234
Legato, Lasse:013-4323
Molto, Maja:013-4322
Portato, Putte:031-1234
Parlando, Palle:0141-2143
Virtuoso, Vilhelm:013-5432
Brio, Britta Con:013-6745
Cresendo, Crister:013-9821
Dacapo, Dan:013-7865
Interludio, Inga:013-1243
Tack på förhand