#scene.no Iliad Wordlist Compo ------------------------------ Versjon 2 - Lag et så lite C-program som mulig som skriver ut en liste med ord tatt fra Iliaden. - Ordene skal outputes i samme rekkefølge og med store/små bokstaver på samme sted som eksempelprogrammet. - Programmet skal ikke lese data fra fil eller andre eksterne kilder. - Spørsmål om compoen tas i #scene.no. Filer ----- - iliad-readme.txt : Denne fila - iliad-sample.c : Eksempelprogram - iliad-words : Ordlista hvis du ikke klarer å få kjørt eksempelet :) Hvordan være med ---------------- - Alle bidrag skal sendes i mail til iliad@titsandasses.org. Send bidraget som et vedlegg som .zip, .rar, tar.gz, tar.bz2, .gz eller .bz2. - Navnet på bidraget skal være .c. - Putt "iliad compo" i subjectet på mailen. - Deadline er onsdag 20. februar kl 2100 CET. Størrelse --------- - Størrelsen på programmet måles i antall bytes c-sourcen er på. Newlines teller som en byte. Sørg for at du bare har LF, ikke CRLF på slutten av hver linje. Generelle regler ---------------- - Koden skal kompilere og kjøre korrekt med gcc4 på Linux og OS X og VISUAL STUDIO TEAM SYSTEM på Windows. - Programmet skal kompilere og fungere både på big- og little-endian-maskiner. - Programmet skal kompilere og fungere både på 32 og 64-bits arkitekturer. - Programmet skal kunne kjøre på hvilken som helst CPU som tilfredstiller resten av reglene. - All output skal sendes til stdout med mindre det spesifisert noe annet - Programmet skal returnere *eksakt* det samme som eksempelprogrammet, også ved feil. Returverdien fra main() skal også være den samme som i eksemplet. - Inline assembler er ikke tillatt. - Programmet skal kompileres slik: - cl program.c (visual c) - gcc program.c -lm -o program (gcc) - Det er ikke lov å kjøre eksterne programmer fra programmet. - Warnings er selvsagt tillatt, og oppfordres. - Hvis det er en konflikt mellom oppførselen definert i reglene og oppførselen i eksempelprogrammet er det eksempelprogrammet som gjelder. Det er fint om folk sier i fra om dette slik at reglene kan bli oppdatert. - Hvis en funksjon (også main()) skal returnere en verdi kan man *ikke* anta at en manglende return fører til at funksjonen returnerer 0. - Programmet kan anta at globale, uinitaliserte variabler blir initalisert til 0 (de havner i bss). - Programmet kan ikke anta hva uinitialiserte variable på stacken er, og skal heller ikke anta hvilke rekkefølge variabler ligger i (dvs ingen smarte buffer under/overflow-triks). - Programmet skal ikke gjøre noe mer enn det som er spesifisert i oppgaven. - Bidrag som bryter en eller flere av reglene blir diskvalifisert.