From c0fd35183113895457aaeebae7bd1f363521c2cd Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Thu, 23 Jan 2020 13:54:16 +0100
Subject: [PATCH] =?UTF-8?q?Musterl=C3=B6sung=2023.1.2020?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 20200123/hp-musterloesung-20200123.pdf | Bin 0 -> 55261 bytes
 20200123/hp-musterloesung-20200123.tex | 393 +++++++++++++++++++++++++
 20200123/loesung-1.c                   |  62 ++++
 20200123/loesung-1b-1.c                |  58 ++++
 20200123/loesung-1b-2.c                |  58 ++++
 20200123/loesung-1c.c                  |  72 +++++
 20200123/loesung-1d.c                  |  86 ++++++
 7 files changed, 729 insertions(+)
 create mode 100644 20200123/hp-musterloesung-20200123.pdf
 create mode 100644 20200123/hp-musterloesung-20200123.tex
 create mode 100644 20200123/loesung-1.c
 create mode 100644 20200123/loesung-1b-1.c
 create mode 100644 20200123/loesung-1b-2.c
 create mode 100644 20200123/loesung-1c.c
 create mode 100644 20200123/loesung-1d.c

diff --git a/20200123/hp-musterloesung-20200123.pdf b/20200123/hp-musterloesung-20200123.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e9a62c761f76ad691e9f502887840b9d8be789b6
GIT binary patch
literal 55261
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
Ks;aL3Zd?F|7z-N!

literal 0
HcmV?d00001

diff --git a/20200123/hp-musterloesung-20200123.tex b/20200123/hp-musterloesung-20200123.tex
new file mode 100644
index 0000000..9cc611b
--- /dev/null
+++ b/20200123/hp-musterloesung-20200123.tex
@@ -0,0 +1,393 @@
+% hp-musterloesung-20191128.pdf - Solutions to the Exercises on Low-Level Programming
+% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Datum-Bibliothek, Text-Grafik-Bibliothek, LED-Blinkmuster
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+\usepackage{sfmath}
+
+\begin{document}
+
+  \section*{Hardwarenahe Programmierung\\
+            Musterlösung zu den Übungsaufgaben -- 23.\ Januar 2020}
+
+  \exercise{Stack-Operationen}
+
+  Das folgende Programm (\gitfile{hp}{20200123}{aufgabe-1.c})
+  implementiert einen Stapelspeicher (Stack).
+  Dies ist ein Array, das nur bis zu einer variablen Obergrenze (Stack-Pointer)
+  tatsächlich genutzt wird.
+  An dieser Obergrenze kann man Elemente hinzufügen (push).
+  
+  In dieser Aufgabe sollen zusätzlich Elemente
+  in der Mitte eingefügt werden (insert).
+  Die dafür bereits existierenden Funktionen \lstinline{insert()}
+  und \lstinline{insert_sorted()} sind jedoch fehlerhaft.
+
+  \begin{minipage}[t]{0.5\textwidth}
+    \begin{lstlisting}[gobble=6]
+      #include <stdio.h>
+
+      #define STACK_SIZE 10
+
+      int stack[STACK_SIZE];
+      int stack_pointer = 0;
+
+      void push (int x)
+      {
+        stack[stack_pointer++] = x;
+      }
+
+      void show (void)
+      {
+        printf ("stack content:");
+        for (int i = 0; i < stack_pointer; i++)
+          printf (" %d", stack[i]);
+        if (stack_pointer)
+          printf ("\n");
+        else
+          printf (" (empty)\n");
+      }
+    \end{lstlisting}
+  \end{minipage}\hfill
+  \begin{minipage}[t]{0.5\textwidth}
+    \begin{lstlisting}[gobble=6]
+      void insert (int x, int pos)
+      {
+        for (int i = pos; i < stack_pointer; i++)
+          stack[i + 1] = stack[i];
+        stack[pos] = x;
+        stack_pointer++;
+      }
+
+      void insert_sorted (int x)
+      {
+        int i = 0;
+        while (i < stack_pointer && x < stack[i])
+          i++;
+        insert (x, i);
+      }
+
+      int main (void)
+      {
+        push (3);
+        push (7);
+        push (137);
+        show ();
+        insert (5, 1);
+        show ();
+        insert_sorted (42);
+        show ();
+        insert_sorted (2);
+        show ();
+        return 0;
+      }
+    \end{lstlisting}
+  \end{minipage}
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      Korrigieren Sie das Programm so,
+      daß die Funktion \lstinline{insert()} ihren Parameter \lstinline{x}
+      an der Stelle \lstinline{pos} in den Stack einfügt
+      und den sonstigen Inhalt des Stacks verschiebt, aber nicht zerstört.
+      \points{3}
+    \item
+      Korrigieren Sie das Programm so,
+      daß die Funktion \lstinline{insert_sorted()} ihren Parameter \lstinline{x}
+      an derjenigen Stelle einfügt, an die er von der Sortierung her gehört.
+      (Der Stack wird hierbei vor dem Funktionsaufruf als sortiert vorausgesetzt.)
+      \points{2}
+    \item
+      Schreiben Sie eine zusätzliche Funktion \lstinline{int search (int x)},
+      die die Position (Index) des Elements \lstinline{x}
+      innerhalb des Stack zurückgibt -- oder die Zahl
+      \lstinline{-1}, wenn \lstinline{x} nicht im Stack enthalten ist.
+      Der Rechenaufwand darf höchstens $\mathcal{O}(n)$ betragen.
+      \points{3}
+    \item
+      Wie (c), aber der Rechenaufwand darf höchstens $\mathcal{O}(\log n)$ betragen.
+      \points{4}
+  \end{enumerate}
+
+  \clearpage
+
+  \solution
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      \textbf{Korrigieren Sie das Programm so,
+      daß die Funktion \lstinline{insert()} ihren Parameter \lstinline{x}
+      an der Stelle \lstinline{pos} in den Stack einfügt,
+      und den sonstigen Inhalt des Stacks verschiebt, aber nicht zerstört.}
+
+      Die \lstinline{for}-Schleife in der  Funktion \lstinline{insert()}
+      durchläuft das Array von unten nach oben.
+      Um den Inhalt des Arrays von unten nach oben zu verschieben,
+      muß man die Schleife jedoch von oben nach unten durchlaufen.
+
+      \goodbreak
+      Um die Funktion zu reparieren, ersetze man also
+      \begin{lstlisting}[gobble=8]
+        for (int i = pos; i < stack_pointer; i++)
+      \end{lstlisting}
+      durch:
+      \begin{lstlisting}[gobble=8]
+        for (int i = stack_pointer - 1; i >= pos; i--)
+      \end{lstlisting}
+      (Siehe auch: \gitfile{hp}{20200123}{loesung-1.c})
+
+    \item
+      \textbf{Korrigieren Sie das Programm so,
+      daß die Funktion \lstinline{insert_sorted()} ihren Parameter \lstinline{x}
+      an derjenigen Stelle einfügt, an die er von der Sortierung her gehört.
+      (Der Stack wird hierbei vor dem Funktionsaufruf als sortiert vorausgesetzt.)}
+
+      Der Vergleich \lstinline{x < stack[i]}
+      als Bestandteil der \lstinline{while}-Bedingung
+      paßt nicht zur Durchlaufrichtung der Schleife (von unten nach oben).
+
+      Um die Funktion zu reparieren, kann man daher entweder
+      das Kleinerzeichen durch ein Größerzeichen ersetzen
+      (\lstinline{x > stack[i]} -- siehe \gitfile{hp}{20200123}{loesung-1b-1.c})
+      oder die Schleife von oben nach unten durchlaufen
+      (siehe \gitfile{hp}{20200123}{loesung-1b-2.c}).
+
+      Eine weitere Möglichkeit besteht darin,
+      das Suchen nach der Einfügeposition
+      mit dem Verschieben des Arrays zu kombinieren
+      (siehe \gitfile{hp}{20200123}{loesung-1.c}).
+      Hierdurch spart man sich eine Schleife; das Programm wird schneller.
+      (Es bleibt allerdings bei $\mathcal{O}(n)$.)
+
+    \item
+      \textbf{Schreiben Sie eine zusätzliche Funktion \lstinline{int search (int x)},
+      die die Position (Index) des Elements \lstinline{x}
+      innerhalb des Stack zurückgibt
+      -- oder \lstinline{-1}, wenn \lstinline{x} nicht im Stack enthalten ist.
+      Der Rechenaufwand darf höchstens $\mathcal{O}(n)$ betragen.}
+
+      Man geht in einer Schleife den Stack (= den genutzten Teil des Arrays) durch.
+      Bei Gleichheit gibt man direkt mit \lstinline{return} den Index zurück.
+      Nach dem Schleifendurchlauf steht fest,
+      daß \lstinline{x} nicht im Stack vorhanden ist;
+      man kann dann direkt \lstinline{-1} zurückgeben
+      (siehe \gitfile{hp}{20200123}{loesung-1c.c}).
+
+      Da es sich um eine einzelne Schleife handelt,
+      ist die Ordnung $\mathcal{O}(n)$.
+
+    \item
+      \textbf{Wie (c), aber der Rechenaufwand darf höchstens $\mathcal{O}(\log n)$ betragen.}
+
+      Um $\mathcal{O}(\log n)$ zu erreichen,
+      halbiert man fortwährend das Intervall von (einschließlich) \lstinline{0}
+      bis (ausschließlich) \lstinline{stack_pointer}
+      (siehe \gitfile{hp}{20200123}{loesung-1d.c}) --
+      wie in der Funktion \lstinline{push_sorted()}
+      im Beispiel-Programm \gitfile{hp}{20200123}{stack-11.c}.
+
+      Ein wichtiger Unterschied besteht darin,
+      daß man nach dem Durchlauf der Schleife noch auf die Gleichheit
+      \lstinline{x == stack[left]} (insbesondere nicht: \lstinline{stack[right]})
+      prüfen und ggf.\ \lstinline{left} bzw.\ \lstinline{-1} zurückgeben muß.
+  \end{enumerate}
+
+  \clearpage
+
+  \exercise{Iterationsfunktionen}
+
+  Wir betrachten das folgende Programm (\gitfile{hp}{20200123}{aufgabe-2.c}):
+
+  \begin{minipage}[t]{0.4\textwidth}
+    \begin{lstlisting}[gobble=6]
+      #include <stdio.h>
+
+      void foreach (int *a, void (*fun) (int x))
+      {
+        for (int *p = a; *p >= 0; p++)
+          fun (*p);
+      }
+
+      void even_or_odd (int x)
+      {
+        if (x % 2)
+          printf ("%d ist ungerade.\n", x);
+        else
+          printf ("%d ist gerade.\n", x);
+      }
+    \end{lstlisting}
+  \end{minipage}\hfill
+  \begin{minipage}[t]{0.52\textwidth}
+    \begin{lstlisting}[gobble=6]
+      int main (void)
+      {
+        int numbers[] = { 12, 17, 32, 1, 3, 16, 19, 18, -1 };
+        foreach (numbers, even_or_odd);
+        return 0;
+      }
+    \end{lstlisting}
+    \begin{enumerate}[\quad(a)]
+      \item
+        Was bedeutet \lstinline{void (*fun) (int x)},
+        und welchen Sinn hat seine Verwendung in der Funktion \lstinline{foreach()}?
+        \points{2}
+      \item
+        Schreiben Sie das Hauptprogramm \lstinline{main()} so um,
+        daß es unter Verwendung der Funktion \lstinline{foreach()}
+        die Summe aller positiven Zahlen in dem Array berechnet.
+        Sie dürfen dabei weitere Funktionen sowie globale Variable einführen.
+        \points{4}
+    \end{enumerate}
+  \end{minipage}
+
+  \solution
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      \textbf{Was bedeutet \lstinline{void (*fun) (int x)},
+      und welchen Sinn hat seine Verwendung in der Funktion \lstinline{foreach()}?}
+
+      \lstinline{void (*fun) (int x)} deklariert einen Zeiger \lstinline{fun},
+      der auf Funktionen zeigen kann, die einen Parameter \lstinline{x}
+      vom Typ \lstinline{int} erwarten und keinen Wert zurückgeben (\lstinline{void}).
+
+      Durch die Übergabe eines derartigen Parameters an die Funktion \lstinline{foreach()}
+      lassen wir dem Aufrufer die Wahl,
+      welche Aktion für alle Elemente des Arrays aufgerufen werden soll.
+
+    \item
+      \textbf{Schreiben Sie das Hauptprogramm \lstinline{main()} so um,
+      daß es unter Verwendung der Funktion \lstinline{foreach()}
+      die Summe aller positiven Zahlen in dem Array berechnet.
+      Sie dürfen dabei weitere Funktionen sowie globale Variable einführen.}
+
+      Siehe: \gitfile{hp}{20200123}{loesung-1.c}
+
+      Damit die Funktion \lstinline{add_up()} Zugriff auf die Variable \lstinline{sum} hat,
+      muß diese global sein
+      und vor der Funktion \lstinline{add_up()} deklariert werden.
+
+      Die Bedingung, daß nur positive Zahlen summiert werden sollen,
+      ist durch die Arbeitsweise der Funktion \lstinline{foreach()}
+      bereits gewährleistet, da negative Zahlen als Ende-Markierungen dienen.
+
+      Wichtig ist, daß die Variable \lstinline{sum}
+      vor dem Aufruf der Funktion \lstinline{foreach()}
+      auf den Wert \lstinline{0} gesetzt wird.
+      In \gitfile{hp}{20200123}{loesung-1.c} geschieht dies
+      durch die Initialisierung von \lstinline{sum}.
+      Wenn mehrere Summen berechnet werden sollen,
+      muß dies durch explizite Zuweisungen \lstinline{sum = 0}
+      vor den Aufrufen von \lstinline{foreach()} erfolgen.
+  \end{enumerate}
+
+  \exercise{Dynamisches Bit-Array}
+
+  Schreiben Sie die folgenden Funktionen zur Verwaltung eines dynamischen Bit-Arrays:
+  \begin{itemize}
+    \item
+      \lstinline{void bit_array_init (int n)}\\
+      Das Array initialisieren, so daß man \lstinline{n} Bits darin speichern kann.\\
+      Die Array-Größe \lstinline{n} ist keine Konstante, sondern erst im laufenden Programm bekannt.\\
+      Die Bits sollen auf den Anfangswert 0 initialisiert werden.
+    \item
+      \lstinline{void bit_array_set (int i, int value)}\\
+      Das Bit mit dem Index \lstinline{i} auf den Wert \lstinline{value} setzen.\\
+      Der Index \lstinline{i} darf von \lstinline{0} bis \lstinline{n - 1} gehen;
+      der Wert \lstinline{value} darf 1 oder 0 sein.
+    \item
+      \lstinline{void bit_array_flip (int i)}\\
+      Das Bit mit dem Index \lstinline{i} auf den entgegengesetzten Wert setzen,\\
+      also auf 1, wenn er vorher 0 ist, bzw.\ auf 0, wenn er vorher 1 ist.\\
+      Der Index \lstinline{i} darf von \lstinline{0} bis \lstinline{n - 1} gehen.
+    \item
+      \lstinline{int bit_array_get (int i)}\\
+      Den Wert des Bit mit dem Index \lstinline{i} zurückliefern.\\
+      Der Index \lstinline{i} darf von \lstinline{0} bis \lstinline{n - 1} gehen.
+    \item
+      \lstinline{void bit_array_resize (int new_n)}\\
+      Die Größe des Arrays auf \lstinline{new_n} Bits ändern.\\
+      Dabei soll der Inhalt des Arrays, soweit er in die neue Größe paßt, erhalten bleiben.\\
+      Neu hinzukommende Bits sollen auf 0 initialisiert werden.
+    \item
+      \lstinline{void bit_array_done (void)}\\
+      Den vom Array belegten Speicherplatz wieder freigeben.
+  \end{itemize}
+  Bei Bedarf dürfen Sie den Funktionen zusätzliche Parameter mitgeben,
+  beispielsweise um mehrere Arrays parallel verwalten zu können.
+  (In der objektorientierten Programmierung wäre dies der implizite Parameter \lstinline{this},
+  der auf die Objekt-Struktur zeigt.)
+
+  Die Bits sollen möglichst effizient gespeichert werden,
+  z.\,B.\ jeweils 8 Bits in einer \lstinline{uint8_t}-Variablen.
+
+  Die Funktionen sollen möglichst robust sein,
+  d.\,h.\ das Programm darf auch bei unsinnigen Parameterwerten nicht abstürzen,
+  sondern soll eine Fehlermeldung ausgeben.
+
+  \medskip
+
+  Die \textbf{Hinweise} auf der nächsten Seite beschreiben
+  einen möglichen Weg, die Aufgabe zu lösen.\\
+  Es seht Ihnen frei, die Aufgabe auch auf andere Weise zu lösen.
+
+  \goodbreak
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Setzen Sie zunächst voraus, daß das Array die konstante Länge 8 hat,
+      und schreiben Sie zunächst nur die Funktionen
+      \lstinline{bit_array_set()}, \lstinline{bit_array_flip()} und
+      \lstinline{bit_array_get()}.
+    \item
+      Verallgemeinern Sie nun auf eine konstante Länge,
+      bei der es sich um ein Vielfaches von 8 handelt.
+    \item
+      Implementieren Sie nun die Überprüfung auf unsinnige Parameterwerte.
+      Damit können Sie sich gleichzeitig von der Bedingung lösen,
+      daß die Länge des Arrays ein Vielfaches von 8 sein muß.
+    \item
+      Gehen Sie nun von einem statichen zu einem dynamischen Array über,
+      und implementieren sie die Funktionen \lstinline{bit_array_init()},
+      \lstinline{bit_array_done()} und \lstinline{bit_array_reseize()}.
+  \end{itemize}
+
+  \points{14}
+
+  \medskip
+
+  (Hinweis für die Klausur:
+  Abgabe in digitaler Form ist erwünscht, aber nicht zwingend.)
+
+  \solution
+
+  (wird nachgereicht)
+
+  \begin{flushright}
+    \textit{Viel Erfolg -- auch in der Klausur!}
+  \end{flushright}
+
+\end{document}
diff --git a/20200123/loesung-1.c b/20200123/loesung-1.c
new file mode 100644
index 0000000..9b87d6c
--- /dev/null
+++ b/20200123/loesung-1.c
@@ -0,0 +1,62 @@
+#include <stdio.h>
+
+#define STACK_SIZE 10
+
+int stack[STACK_SIZE];
+int stack_pointer = 0;
+
+void push (int x)
+{
+  stack[stack_pointer++] = x;
+}
+
+int pop (void)
+{
+  return stack[--stack_pointer];
+}
+
+void show (void)
+{
+  printf ("stack content:");
+  for (int i = 0; i < stack_pointer; i++)
+    printf (" %d", stack[i]);
+  if (stack_pointer)
+    printf ("\n");
+  else
+    printf (" (empty)\n");
+}
+
+void insert (int x, int pos)
+{
+  for (int i = stack_pointer - 1; i >= pos; i--)
+    stack[i + 1] = stack[i];
+  stack[pos] = x;
+  stack_pointer++;
+}
+
+void insert_sorted (int x)
+{
+  int i = stack_pointer - 1;
+  while (i >= 0 && x < stack[i])
+    {
+      stack[i + 1] = stack[i];
+      i--;
+    }
+  stack[i + 1] = x;
+  stack_pointer++;
+}
+
+int main (void)
+{
+  push (3);
+  push (7);
+  push (137);
+  show ();
+  insert (5, 1);
+  show ();
+  insert_sorted (42);
+  show ();
+  insert_sorted (2);
+  show ();
+  return 0;
+}
diff --git a/20200123/loesung-1b-1.c b/20200123/loesung-1b-1.c
new file mode 100644
index 0000000..cbbe370
--- /dev/null
+++ b/20200123/loesung-1b-1.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+
+#define STACK_SIZE 10
+
+int stack[STACK_SIZE];
+int stack_pointer = 0;
+
+void push (int x)
+{
+  stack[stack_pointer++] = x;
+}
+
+int pop (void)
+{
+  return stack[--stack_pointer];
+}
+
+void show (void)
+{
+  printf ("stack content:");
+  for (int i = 0; i < stack_pointer; i++)
+    printf (" %d", stack[i]);
+  if (stack_pointer)
+    printf ("\n");
+  else
+    printf (" (empty)\n");
+}
+
+void insert (int x, int pos)
+{
+  for (int i = stack_pointer - 1; i >= pos; i--)
+    stack[i + 1] = stack[i];
+  stack[pos] = x;
+  stack_pointer++;
+}
+
+void insert_sorted (int x)
+{
+  int i = 0;
+  while (i < stack_pointer && x > stack[i])
+    i++;
+  insert (x, i);
+}
+
+int main (void)
+{
+  push (3);
+  push (7);
+  push (137);
+  show ();
+  insert (5, 1);
+  show ();
+  insert_sorted (42);
+  show ();
+  insert_sorted (2);
+  show ();
+  return 0;
+}
diff --git a/20200123/loesung-1b-2.c b/20200123/loesung-1b-2.c
new file mode 100644
index 0000000..b1e1ae8
--- /dev/null
+++ b/20200123/loesung-1b-2.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+
+#define STACK_SIZE 10
+
+int stack[STACK_SIZE];
+int stack_pointer = 0;
+
+void push (int x)
+{
+  stack[stack_pointer++] = x;
+}
+
+int pop (void)
+{
+  return stack[--stack_pointer];
+}
+
+void show (void)
+{
+  printf ("stack content:");
+  for (int i = 0; i < stack_pointer; i++)
+    printf (" %d", stack[i]);
+  if (stack_pointer)
+    printf ("\n");
+  else
+    printf (" (empty)\n");
+}
+
+void insert (int x, int pos)
+{
+  for (int i = stack_pointer - 1; i >= pos; i--)
+    stack[i + 1] = stack[i];
+  stack[pos] = x;
+  stack_pointer++;
+}
+
+void insert_sorted (int x)
+{
+  int i = stack_pointer - 1;
+  while (i >= 0 && x < stack[i])
+    i--;
+  insert (x, i + 1);
+}
+
+int main (void)
+{
+  push (3);
+  push (7);
+  push (137);
+  show ();
+  insert (5, 1);
+  show ();
+  insert_sorted (42);
+  show ();
+  insert_sorted (2);
+  show ();
+  return 0;
+}
diff --git a/20200123/loesung-1c.c b/20200123/loesung-1c.c
new file mode 100644
index 0000000..79d061e
--- /dev/null
+++ b/20200123/loesung-1c.c
@@ -0,0 +1,72 @@
+#include <stdio.h>
+
+#define STACK_SIZE 10
+
+int stack[STACK_SIZE];
+int stack_pointer = 0;
+
+void push (int x)
+{
+  stack[stack_pointer++] = x;
+}
+
+int pop (void)
+{
+  return stack[--stack_pointer];
+}
+
+void show (void)
+{
+  printf ("stack content:");
+  for (int i = 0; i < stack_pointer; i++)
+    printf (" %d", stack[i]);
+  if (stack_pointer)
+    printf ("\n");
+  else
+    printf (" (empty)\n");
+}
+
+void insert (int x, int pos)
+{
+  for (int i = stack_pointer - 1; i >= pos; i--)
+    stack[i + 1] = stack[i];
+  stack[pos] = x;
+  stack_pointer++;
+}
+
+void insert_sorted (int x)
+{
+  int i = stack_pointer - 1;
+  while (i >= 0 && x < stack[i])
+    {
+      stack[i + 1] = stack[i];
+      i--;
+    }
+  stack[i + 1] = x;
+  stack_pointer++;
+}
+
+int search (int x)
+{
+  for (int i = 0; i < stack_pointer; i++)
+    if (stack[i] == x)
+      return i;
+  return -1;
+}
+
+int main (void)
+{
+  push (3);
+  push (7);
+  push (137);
+  show ();
+  insert (5, 1);
+  show ();
+  insert_sorted (42);
+  show ();
+  insert_sorted (2);
+  show ();
+  printf ("%d\n", search (42));
+  printf ("%d\n", search (1117));
+  return 0;
+}
diff --git a/20200123/loesung-1d.c b/20200123/loesung-1d.c
new file mode 100644
index 0000000..9079d8d
--- /dev/null
+++ b/20200123/loesung-1d.c
@@ -0,0 +1,86 @@
+#include <stdio.h>
+
+#define STACK_SIZE 10
+
+int stack[STACK_SIZE];
+int stack_pointer = 0;
+
+void push (int x)
+{
+  stack[stack_pointer++] = x;
+}
+
+int pop (void)
+{
+  return stack[--stack_pointer];
+}
+
+void show (void)
+{
+  printf ("stack content:");
+  for (int i = 0; i < stack_pointer; i++)
+    printf (" %d", stack[i]);
+  if (stack_pointer)
+    printf ("\n");
+  else
+    printf (" (empty)\n");
+}
+
+void insert (int x, int pos)
+{
+  for (int i = stack_pointer - 1; i >= pos; i--)
+    stack[i + 1] = stack[i];
+  stack[pos] = x;
+  stack_pointer++;
+}
+
+void insert_sorted (int x)
+{
+  int i = stack_pointer - 1;
+  while (i >= 0 && x < stack[i])
+    {
+      stack[i + 1] = stack[i];
+      i--;
+    }
+  stack[i + 1] = x;
+  stack_pointer++;
+}
+
+int search (int x)
+{
+  int left = 0;
+  int right = stack_pointer;
+  while (left < right - 1)
+    {
+      int middle = (left + right) / 2;
+      if (x < stack[middle])
+        right = middle;
+      else
+        left = middle;
+    }
+  if (x == stack[left])
+    return left;
+  else
+   return -1;
+}
+
+int main (void)
+{
+  push (3);
+  push (7);
+  push (137);
+  show ();
+  insert (5, 1);
+  show ();
+  insert_sorted (42);
+  show ();
+  insert_sorted (2);
+  show ();
+  printf ("%d\n", search (2));
+  printf ("%d\n", search (4));
+  printf ("%d\n", search (42));
+  printf ("%d\n", search (67));
+  printf ("%d\n", search (137));
+  printf ("%d\n", search (1117));
+  return 0;
+}
-- 
GitLab