diff --git a/20191114/hp-musterloesung-20191114.pdf b/20191114/hp-musterloesung-20191114.pdf index 56e26478154782d25e90cb76d3c6c03a6ac2e093..af99bb1a2c107607b1fc0dc1b2e76625b11bdd55 100644 Binary files a/20191114/hp-musterloesung-20191114.pdf and b/20191114/hp-musterloesung-20191114.pdf differ diff --git a/20191114/hp-musterloesung-20191114.tex b/20191114/hp-musterloesung-20191114.tex index 8d68b836769f3a62a0cb95d0873d2461a1445bae..8016731a8ae9665900c62f1337115e35150b8d4b 100644 --- a/20191114/hp-musterloesung-20191114.tex +++ b/20191114/hp-musterloesung-20191114.tex @@ -252,8 +252,8 @@ also die Schleife umdrehen\\ (siehe: \gitfile{hp}{20191114}{loesung-2.c}): \begin{lstlisting}{gobble=8} - for (int i = len; i > pos; i++) - target[i] = target[i - 1]; + for (int i = len; i >= pos; i--) + target[i + 1] = target[i]; \end{lstlisting} \item @@ -270,7 +270,7 @@ Wenn wir nun in den String ein zusätzliches Zeichen einfügen, ist dafür kein Speicherplatz reserviert worden, - und wir \textbf{überschreiben} dann Speicher, an dem sich andere Variablen befinden, + und wir \textbf{überschreiben} dann Speicher, an dem sich andere Variable befinden, was zu einem \textbf{Absturz} führen kann. Da wir hier nur ein einziges Zeichen schreiben, diff --git a/20191114/loesung-2.c b/20191114/loesung-2.c index e4151901aaff375907ba0e8c1c4f449f2f6f5743..85abfcf3e1e4bacf454acd10f6832b757a64ac35 100644 --- a/20191114/loesung-2.c +++ b/20191114/loesung-2.c @@ -4,8 +4,8 @@ void insert_into_string (char src, char *target, int pos) { int len = strlen (target); - for (int i = len; i > pos; i++) - target[i] = target[i - 1]; + for (int i = len; i >= pos; i--) + target[i + 1] = target[i]; target[pos] = src; }