\documentstyle[11pt,german,epsfig,uebung]{article}
\begin{document}
\briefkopf
\LARGE
\centerline{5. "Ubung}
\large
\centerline{Bearbeitung vom 22.11.06 - 27.11.06}
\vskip 0.1cm
\normalsize
{\bf Aufgabe 1: Arrays}\newline
Welche Ausgabe erwarten Sie bei dem folgenden Programm, wenn bei der ersten Zeile die Ausgabe
\tt 0xbfffa600 \rm erscheint ?
\begin{verbatim}
  int a[10] = {0,1,2,3,4,5,6,7,8,9}; 
  int *pa;
  pa = &a[0];
  cout << pa      << endl;
  cout << a[4]    << endl;
  cout << &(*pa)  << endl;
  cout << *(pa+8) << endl;
  cout << pa+1    << endl;
  cout << pa[5]   << endl;
  cout << &a[2]   << endl;
  cout << *(7+a)  << endl;
  cout << 3[a]    << endl;
  cout << &3[a]   << endl;
\end{verbatim} \vskip 0.1cm 
{\bf Aufgabe 2: Character- Arrays} \newline
Bei Character- Arrays ist das letzte Zeichen immer das Nullzeichen \tt $'\setminus 0'$ \rm, ein Steuerzeichen , das mit dem
Code- Wert 0 das erste Zeichen in der Zeichentabelle ist (nicht zu verwechseln mit dem sichtbaren
Zeichen $'0'$, das beispielsweise in der ASCI- Tabelle den Code- Wert 48 dezimal hat. \newline
Verwenden Sie f"ur die folgenden Teilaufgaben das Programm \tt string.cc \rm und erg"anzen Sie 
die fehlenden Zeilen. Benutzen Sie ausschlie"slich Pointer, wie es f"ur Teil a) im Programm bereits demonstriert ist.\newline 
a) Schreiben Sie ein Programm, da"s die L"ange eines Strings berechnet (ohne Zuhilfenahme von Standardfunktionen).
\newline
b) Kopieren Sie den String in einen anderen String. \newline
c) "Uberpr"ufen Sie die Strings von Teil a) und Teil b) auf exakte Gleichheit. \newline
d) Konkatenieren Sie die beiden Strings von Teil a) und Teil b) und schreiben Sie das Ergebnis in einen
dritten String. \newline
e) Spiegeln Sie den ersten String von Teil a). 
\newline \vskip 0.1cm
{\bf Aufgabe 3: Funktionsaufrufe} \newline 
Schreiben Sie eine Funktion, die die Werte zweier Integer- Variablen vertauscht. Benutzen Sie einmal
\tt int* \rm und einmal \tt int$\&$ \rm als Parametertyp.
\newpage
{\bf Aufgabe 4: Arrays als Funktionsargumente} (Zusatzaufgabe) \newline
Ver"andern Sie das Programm von Aufgabe 2 zur Stringbehandlung, nun unter Verwendung von Funktionen f"ur
jede einzelne Operation a) bis e). Lesen Sie den String im \tt main-\rm Programm ein und "ubergeben Sie die Strings als
Argumente den Funktionen. Rufen Sie jede Funktion mindestens einmal im Hauptprogarmm auf und schreiben Sie die
Ergebnisse aus.
\end{document}
