2009-02-22, 18:37
  #1
Medlem
Gondars avatar
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
2009-02-22, 19:06
  #2
Medlem
ojns avatar
Javisst, dumpa din läxa på oss så löser vi den åt dig. Ta en kopp kaffe och en munk medan du väntar, det borde inte ta så lång tid.
2009-02-22, 19:24
  #3
Medlem
Gondars avatar
Jag skrev för den som orkar göra de, men annars vare bara att hjälpa till med o tipsa vad för strukturering jag kunde ha på det.


2009-02-23, 12:49
  #4
Medlem
Blir betydligt lättare att ge dig tips ifall du visar vad du skrivit hittills.
2009-02-23, 13:08
  #5
Medlem
Okej, jag ska ge dig lite hjälp.
På del A kan du skapa ett 20x2 fält där första fältet anger bannummer och andra fältet anger antalet slag. Ge den vettigt namn
exempelvis antalSlag[20][2].

Slumpa fram ett tal mellan 1 och 18, alltså vilken bana du spelat på, x.
Slumpa fram ett tal mellan 1 och 8, alltså hur många slag, y.
Sätt antalSlag[i][0] = x.
Sätt antalSlag[i][1] = y.
Upprepa allt utom första steget tills antalSlag är full.

På del B kan du ju göra en struct som innehåller bana och antalet slag. Sen gör du ett fält som innehåller 20
sånna structar. Fyller i den gör du på samma sätt som för del A.

Samma sak på C men använd den inbyggda std::vector istället.

edit: Skrev inget om sorteringen, men ifall det inte anges i uppgiften vilken sorteringsalgoritm du skall använda kan du troligtvis ta den du känner till bäst. I sista delen misstänker jag att du inte behöver implementera sortering själv utan kan använda den inbyggda std::sort, glöm inte att din struct måste ha < och > operatorer i så fall.
__________________
Senast redigerad av Chris92 2009-02-23 kl. 13:15.
2009-02-24, 06:12
  #6
Medlem
Du kanske klarar läxan men lär dig 0 om du inte själv löser dina uppgifter.
som Chris92 sa "Blir betydligt lättare att ge dig tips ifall du visar vad du skrivit hittills." och det visar även att du är villig att försöka. Du kan inte bli en hackz00rwannab3/cr4ckz00rwanneb3 utan att sköta dina studier i bl.a. programmering själv.

Tror du Mitnick bad om hjälp med sina läxor?

"We will not do your homework for you! Do not ask us to give you code!"
"Describe any errors you are encountering. Help us help you!"
2009-02-24, 07:40
  #7
Medlem
blueCommands avatar
Du kan ju länka till PDF:erna direkt annars:
http://www.ida.liu.se/~TDDC68/2009/M...och_poster.pdf

http://www.ida.liu.se/~TDDC68/2009/M...samt_filer.pdf

Filen telefonnummer.txt:
http://www.ida.liu.se/~TDDC68/2009/M.../TELEFONNR.TXT

Om någon tvivlade på att det var läxa.
2009-02-24, 21:55
  #8
Medlem
ojns avatar
TS har inte försökt själv överhuvudtaget och det har gått 48 timmar, så jag gör h*n** - och tänkbara framtida kollegor - en tjänst och låser tråden.

/Moderator

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in