Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 3
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 3
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 3
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3-34 Aufgaben und <strong>Lösungen</strong><br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
if(i) while(c!=ESC) { // Schleife für Eingabe<br />
printf("\n> "); // neues Element<br />
i=0;<br />
while((c=getkey())!=CR) { // Zeichen lesen<br />
if(i==DIM) break; // Eingabe zu lang<br />
if(c>=BLNK) { // druckbares Zeichen<br />
putch(c); // .. anzeigen<br />
buffer[i++]=c; // .. in Puffer kopieren<br />
}<br />
else if(c==CR || c==ESC) break; // Eingabe beenden<br />
}<br />
if(i>0) {<br />
buffer[i]=0; // Puffer abschließen<br />
key=atoi(buffer); // Puffer in Integer konvert.<br />
i=tree_in(root,key); // Element einfügen<br />
if(i==0) { // nicht genug Speicher<br />
printf("\n\nNicht genug Speicher!");<br />
break;<br />
}<br />
}<br />
if(e) c=ESC;<br />
}<br />
}<br />
////////////////////////////////////////// Ausgabe des Baums<br />
else if(c=='A') {<br />
if(root==NULL) printf("\n\nDer Baum ist nicht initialisiert!");<br />
else if(root->l==NULL) printf("\n\nDer Baum ist leer!");<br />
else {<br />
printf("\n\nAusgabe:\n");<br />
printf("\nHauptreihenfolge: ");<br />
prelist_iter(root->l);<br />
printf("\nSym. Reihenfolge: ");<br />
inlist(root->l);<br />
printf("\nNebenreihenfolge: ");<br />
postlist(root->l);<br />
}<br />
}<br />
////////////////////////////////////////// Suchen eines Schlüssels<br />
else if(c=='S') {<br />
if(root==NULL) printf("\n\nDer Baum ist nicht initialisiert!");<br />
else if(root->l==NULL) printf("\n\nDer Baum ist leer!");<br />
else {<br />
printf("\n\nBitte zu suchenden Schluessel eingeben: ");<br />
scanf("%d",&key);<br />
i=tree_search(root,key);<br />
if(i==-1) printf("\nSchluessel %d nicht gefunden.",key);<br />
else printf("\nSchluessel %d nach %d Schritten gefunden.",key,i);<br />
}<br />
}<br />
////////////////////////////////////////// Löschen eines Schlüssels<br />
else if(c=='L') {<br />
if(root==NULL) printf("\n\nDer Baum ist nicht initialisiert!");<br />
else if(root->l==NULL) printf("\n\nDer Baum ist leer!");<br />
else {<br />
printf("\n\nBitte zu loeschenden Schluessel eingeben: ");<br />
scanf("%d",&key);<br />
i=tree_del(root,key);<br />
if(i==-1) printf("\nSchluessel %d nicht gefunden.",key);<br />
else printf("\nSchluessel %d nach %d Schritten geloescht.",key,i);<br />
}<br />
}<br />
else printf("\n\nFalsche Eingabe!"); // Falsche Eingabe<br />
c=0;