• Keine Ergebnisse gefunden

NennenSie4! 32.1 Pointer a) int *(*x

N/A
N/A
Protected

Academic year: 2021

Aktie "NennenSie4! 32.1 Pointer a) int *(*x"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

WolfgangKaier/MihaelMattes Blatt14

A

Systemnahe Software I

im Wintersemester 2009/2010

Abgabetermin:09.Februar2009

DiesesÜbungsblattistfreiwillig-jedoheineguteÜbungfürdieKlausur!

VersuhenSiedieerstenAufgabenohneHilfedesRehnerszulögsen!

DasBlattzähltnihtzudenÜbungspunktenhinzu,wirdjedohindernähsteÜbungbespro-

hen.

32 Preproessor

DerC-PreproesserwertetvershiedeneDirektiven(=Anweisungen,Befehle)aus.

NennenSie4!

32.1 Pointer

a) int *(*x)();

b) int (*x[℄)();

) int (*x())[℄;

32.2 Deklarationen

BeshreibenSieverbal,washiergenaudeklariertwird:

int (*X) (double);

32.3 Obsure

4 int i1, i2, i3;

5 int *p1, *p2, *p3;

6

7 i2 = 12;

12 p2 = p3;

13 p1 = &i1;

14 *p2 = ((*p1)++)-1;

17 *p3 -= 2 * (*p1 -*p2);

18 printf("%d %d %d\n", i1, i2, i3);

32.4 Code

WasgehtbeidiesemProgrammshief?

Wiekannesverbessertwerden?

har * test(har * txt) {

har neu[100℄;

har *x;

x = neu;

while ((*x++ = *txt++) != '\n'); /* kopieren */

return(x);

}

int main () {

har * strp;

strp = test("Oh jeh!");

printf("%s\n", strp);

return 0;

}

33 Bäume (7 Punkte)

EineMöglihkeitzumSpeihernabstrakterDatensindListen.LeideristdieSuhenahDa-

tensätzeningrossenListensehrinezient.IndenVorlesungenAI1,AI2habenSieshondie

VerwendungvonBaumstrukturenkennengelernt.

EinbinärerBaumistdurhmiteinanderverknüpftenDatensätzen(oftKnoten genannt)ge-

kennzeihnet.JederdieserKnotenenthälteinenNamensowieReferenzenaufbiszuzweiNah-

folger.

Maria

/ \

Julia Matthias

/ \

Gustav Konrad

/

Adam

\

Berta

(2)

sieht,benden sihindenTeilbäumen,dieandenKnotenjeweilslinkshängen,alphabetish

absteigendeNamen.IndenKnotendesrehtenTeilbaumesnuralphabetishaufsteigendeNa-

men.DiejenigenKnoten,diekeineNahfolgermehrbesitzenwerdenBlättergenannt.

ErstellenSieeinProgramm,welheseinensolhenBinärbaumerstellt.

AlserstesdenierenSieeinegeeigneteDatenstrukturfürdieeinzelnenKnotendesBau-

mes.

Den Namen in dieser Struktur können Sie dabei als Array of Charkonstanter Länge

festlegen.

FügenSieeineMöglihkeithinzu,denBaumnahIn-Pre-undPostorderzutraversieren.

Beispielsweise:(EingefügteNamen:Maria-Matthias-Julia-Gustav-Konrad-Adam

-Berta)

Inorder(L-W-R):Adam-Berta-Gustav-Julia-Konrad-Maria-Matthias

Preorder(W-L-R):Maria-Julia-Gustav-Adam-Berta-Konrad-Matthias

Postorder(L-R-W):Berta-Adam-Gustav-Konrad-Julia-Matthias-Maria

ErstellenSieeineFunktionwelhedenBaumauhalssolhenausgibt:

Beispielsweise:(EingefügteNamen:Maria-Matthias-Julia-Gustav-Konrad-Adam

-Berta)

Matthias

Maria

Konrad

Julia

Gustav

Berta

Adam

ShreibenSiezweiweitereFunktionen,umdenBaumLadenbzw.Speihernzukönnen.

ZumSpeihernistesratsam,denBaumzutraversieren,unddieNamenderReihenah

ineineDateizushreiben.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Die Hyperbelfunktionen und ihre Ableitungen wurden auf Blatt 1

Eine L angeneinheit (Bohrsher Radius) wurde

Die Summe der Quadrate der Abstände ist 6.. Die Summe der Quadrate der Abstände

Die Aussage des Taylorschen Satzes ist, dass sich fast jede elementare Funktion in der Umgebung eines Punktes x 0 durch Polynome beliebig genau ann¨ ahern l¨ asst.. Neben der

Anm.: Achten Sie auf eine effiziente Implementierung (es sollen möglichst wenige Knoten im Baum besucht werden). Nutzen Sie dazu die Sortierung des Suchbaums aus.. Übungen

Sind die Oeifnungen nicht beträchtlich, so kann man sich ihrer ohne erheblichen Fehler bedienen, und hängt dann nur die Grösse f von dem Material, also der Grösse v und der Grösse

Bei nur grober Kenntnis der Schmelztemperatur kann man also in einer MD-Simulation mit einer Probe, die aus einem Schichtpaket aus Schmelze und Kristall besteht, eine