• Keine Ergebnisse gefunden

ÄndernSiedieDateistrfun.soab,dassIhreStringfunktionendortnurverwendet(niht aberdeklariertoderdeniert)werden.ShlieÿlihsollenSienohinderLagesein,mitdemg Objektdateienerzeugenzu lassenunddiesein einemweiterenShrittzueiner ausführbaren Dateizusammenzubinden

N/A
N/A
Protected

Academic year: 2021

Aktie "ÄndernSiedieDateistrfun.soab,dassIhreStringfunktionendortnurverwendet(niht aberdeklariertoderdeniert)werden.ShlieÿlihsollenSienohinderLagesein,mitdemg Objektdateienerzeugenzu lassenunddiesein einemweiterenShrittzueiner ausführbaren Dateizusammenzubinden"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

WolfgangKaier/MihaelMattes Blatt6

A

Systemnahe Software I

im Wintersemester 2009/2010

Abgabetermin:bis24.November2009

15 Modularisierung (4 Punkte)

AlskleinenEinstieg indie ModularisierungsollenSieIhre Implementationen(oder denLö-

sungsvorshlag)derStringfunktionenvomletztenBlattineineigenesModulmystr.oauslagern.

StellenSiehierbeieinepassendeHeaderdateimystr.hbereit,dieausshlieÿlihFunktionsdekla-

rationen(keineDenitionen!)enthält.DiedazugehörigenDenitionensollensihinderDatei

mystr.benden.

ÄndernSiedieDateistrfun.soab,dassIhreStringfunktionendortnurverwendet(niht

aberdeklariertoderdeniert)werden.ShlieÿlihsollenSienohinderLagesein,mitdemg

Objektdateienerzeugenzu lassenunddiesein einemweiterenShrittzueiner ausführbaren

Dateizusammenzubinden.

Hinweis1:DasKapitel12desSkriptsenthältallenötigenInformationenzumThemaMo-

dularisierung.

Hinweis 2: Wenn Siesize_t verwendenwollen, ohne string.heinzubinden, bindenSie

stddef.hein.

16 Sortieralgori thmenBibl i o thek (12 Punkte)

WennSiedieZusatzaufgabeweiteruntenlösen,habenSiedieseAufgabeautomatishmitgelöst.

ShreibenSieeinkleinesModul(d.h.eineHeaderdateimitentsprehendenFunktionenund

eineC-DateimitderenImplementierung)vonSortieralgorithmenfürints,dasmysort.oheiÿt.

StellenSiehierbeimindestenseinenSortieralgorithmusproGruppenmitgliedzurVerfügung.

TestenSiedieFunktionsweiseallerAlgorithmenanhandeinesselbstgeshriebenenTestpro-

gramms,welhesnihtTeildesModulsist.

17 Allgemeine Sortierbibliothek (12 Zusatzpunkte)

bigeDaten(z.B.ints,doubles,Strings,dieGeldanlagenvomletztenBlatt,sonstigeVerbünde,

et.)zusortieren.

MöglihwirddiesdurhdieVerwendungdesallgemeinenunspeziziertenZeigertypsvoid*,

deraufbeliebigeDaten(insbesonderemitbeliebigerGröÿe!)zeigenkann.EineallgemeineSor-

tierfunktionbenötigtdahernebendemZeigeraufdenAnfang derListeundder Anzahlder

ElementeauhdieAngabederGröÿeeines einzelnenElements.EineBeispielsignaturkönnte

daherwiefolgtaussehen:

sort(void *anfang, size_t anzahl, size_t groesse);

Dadiewenigsten Datenmiteinemeinfahen < verglihen werdenkönnen,mussdieSor-

tierfunktion auÿerdemwissen, wiedieElemente verglihen werden.Dies lässtsihmiteiner

Vergleihsfunktion(Komparator)bewerkstelligen,diezweiElementeübergebenbekommtund

analogzustrmpeinenint-WertalsErgebnisliefert.

DieSortierfunktionmussdenzuverwendendenKomparatornatürlihkennenermussalso

(als Funktionszeiger)mitübergebenwerden.Die SignaturderSortierfunktionmussalsowie

folgterweitertwerden:

sort(void *anfang, size_t anzahl, size_t groesse,

int (*omparator)(onst void *, onst void *));

ImplementierenSieeineigenesallgemeinesSortiermodul(miteinemAlgorithmusproGrup-

penmitglied)undtestenSieesmitmindestensdreivershiedenen TypenvonDaten,z.B.ein

Ganzahltyp,einGleitkommatyp,StringsoderdieGeldanlagenvomvorigenBlatt.

Hinweis1:ZumTestenmüssenSiefürjedenDatentypeinenKomparatorshreiben.

Hinweis 2: Die Funktion qsort aus der Standardbibliothek bietet ein ganz allgemeines

QuikSortan.Siesollendasnatürlihnihtverwenden,aberinderManpagedazu ndenSie

auhVerwendungsbeispiele.

VielErfolg!

Referenzen

ÄHNLICHE DOKUMENTE

In diesem Zu- sammenhang gibt es eine interessante Homepage SL08 , die sich mit allge- meinen Leitlinien zum Thema MS im Kindesalter befasst!. Hinter SL09 verbirgt sich

„In Anbetracht der öffentlich vergleichsweise geringen Zahl betroffener junger Menschen mit gleichzeitig vielfältigen Problemlagen müssen bundesweit

As in an inert atmosphere copper(II) cation oxidizes sulfite to dithionate the catalytic effect of copper ions was explained by the assumption that copper(II) ion

Der Arzt, der für ein Gebiet, einen Schwer- punkt oder einen Bereich zur Weiterbildung berechtigt wird, muss in seinem Gebiet, Schwerpunkt oder Bereich umfassende

Wir haben acht Online-Seminare für Euch als Anregung und Austausch für die eigene Courage- Arbeit organisiert!. Viel Spaß

Auch Projekte der deutschen Entwicklungszusammenarbeit, insbesondere im Bereich der Regierungsführung (Governance), berücksichtigen den loka- len Kontext oftmals nicht

Participation  has  become  one  of  the  most  important  buzzwords  in  the  international  development  discourse  since  at  least  the  middle  of  the  1990s. 

Bei den meisten Akteuren herrscht Einigkeit, dass die Verzah- nung der humanitären Hilfe mit der Entwicklungszu- sammenarbeit verbessert werden muss, um Menschen in Notlagen