From 423cddc2bd2f1822f4a181fa9226c1fdaa701a0f Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Mon, 23 Nov 2015 20:18:52 +0100 Subject: [PATCH] Vorlesung 19.11.2015 --- 20151119/ainf-20151119.pdf | Bin 288931 -> 288933 bytes 20151119/ainf-20151119.tex | 2 +- 20151119/ainf-uebung-20151119.pdf | Bin 0 -> 59320 bytes 20151119/ainf-uebung-20151119.tex | 179 ++++++++++++++++++++++++++++++ 20151119/bla/hex-1.c | 19 ++++ 20151119/bla/mainparam-1.c | 9 ++ 20151119/bla/pruzzel.c | 0 20151119/blubb | 9 ++ 20151119/fak-1.c | 16 +++ 20151119/hanoi-0.c | 25 +++++ 20151119/hanoi-1.c | 29 +++++ 20151119/hanoi-2.c | 51 +++++++++ 20151119/hanoi-3.c | 51 +++++++++ 20151119/hanoi-4.c | 52 +++++++++ 20151119/hanoi-5.c | 59 ++++++++++ 20151119/hanoi-6.c | 61 ++++++++++ 20151119/hanoi-7.c | 61 ++++++++++ 20151119/hanoi-8.c | 59 ++++++++++ 20151119/hanoi-9.c | 59 ++++++++++ 20151119/hex-2.c | 22 ++++ 20151119/hex-3.c | 22 ++++ 20151119/hex-4.c | 24 ++++ 20151119/hex-5.c | 22 ++++ 20151119/mainparam-1.c | 9 ++ 24 files changed, 839 insertions(+), 1 deletion(-) create mode 100644 20151119/ainf-uebung-20151119.pdf create mode 100644 20151119/ainf-uebung-20151119.tex create mode 100644 20151119/bla/hex-1.c create mode 100644 20151119/bla/mainparam-1.c create mode 100644 20151119/bla/pruzzel.c create mode 100644 20151119/blubb create mode 100644 20151119/fak-1.c create mode 100644 20151119/hanoi-0.c create mode 100644 20151119/hanoi-1.c create mode 100644 20151119/hanoi-2.c create mode 100644 20151119/hanoi-3.c create mode 100644 20151119/hanoi-4.c create mode 100644 20151119/hanoi-5.c create mode 100644 20151119/hanoi-6.c create mode 100644 20151119/hanoi-7.c create mode 100644 20151119/hanoi-8.c create mode 100644 20151119/hanoi-9.c create mode 100644 20151119/hex-2.c create mode 100644 20151119/hex-3.c create mode 100644 20151119/hex-4.c create mode 100644 20151119/hex-5.c create mode 100644 20151119/mainparam-1.c diff --git a/20151119/ainf-20151119.pdf b/20151119/ainf-20151119.pdf index b92b2e5bec937142c1366714b4d6a31f610c33b4..8ecf79dfd380bc0581c57c55efeab6a5f1abb56e 100644 GIT binary patch delta 2328 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 a`ETW4I<3{4UX{V3$YIW<s_N?R#svTt-CipI delta 2326 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 YE1$Y!&7J8r87zt%rd+D3uKsRZ066?!cmMzZ diff --git a/20151119/ainf-20151119.tex b/20151119/ainf-20151119.tex index 679ceed..58065e6 100644 --- a/20151119/ainf-20151119.tex +++ b/20151119/ainf-20151119.tex @@ -104,7 +104,7 @@ \item \textbf{Doppelte Pufferung}\\ 2 "`Bildschirme"': einer zum Zeichnen; einer wird angezeigt\\ - \file{opengl-magic.double.c}, \lstinline{gluSwapBuffers()} + \file{opengl-magic-double.c}, \lstinline{gluSwapBuffers()} \pause \item \textbf{Im Display-Handler} (\lstinline{draw()}) \textbf{wirklich nur zeichnen!}\\ diff --git a/20151119/ainf-uebung-20151119.pdf b/20151119/ainf-uebung-20151119.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3aa5cf5589f41bcda03631ac636e8893ca0ae695 GIT binary patch literal 59320 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 literal 0 HcmV?d00001 diff --git a/20151119/ainf-uebung-20151119.tex b/20151119/ainf-uebung-20151119.tex new file mode 100644 index 0000000..cc7c62d --- /dev/null +++ b/20151119/ainf-uebung-20151119.tex @@ -0,0 +1,179 @@ +% ainf-uebung-20151119.pdf - Exercises on Applied Computer Sciences +% Copyright (C) 2013, 2015 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/>. + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{pdftricks} +\usepackage{fleqn} + +\begin{psinputs} + \usepackage{pgscript} + \definecolor{PracticallyWhite}{rgb}{0.99 0.99 0.99} +\end{psinputs} + +\newcounter{exercise} +\newcommand{\exercise}[1]{\addtocounter{exercise}{1}\subsection*{Aufgabe \arabic{exercise}: #1}} + +\newcounter{points} +\newcommand{\onepoint}{(1 Punkt)\addtocounter{points}{1}} +\newcommand{\points}[1]{(#1 Punkte)\addtocounter{points}{#1}} + +\begin{document} + +% \thispagestyle{empty} + + \section*{Angewandte Informatik\\Übungsaufgaben -- 19.\ November 2015} + + \exercise{Fakultät} + + Die Fakultät $n!$ einer natürlichen Zahl $n$ ist definiert als: + \begin{eqnarray*} + 0 & \mbox{für} & n \le 1, \\ + n \cdot (n-1)! & \mbox{für} & n > 1. + \end{eqnarray*} + + Mit anderen Worten: $n! = 1\cdot2\cdot3\cdot\dots\cdot n$. + + Die folgende Funktion \lstinline{fak()} berechnet die Fakultät \emph{rekursiv}: + + \begin{lstlisting} + #include <stdio.h> + + int fak (int n) + { + if (n <= 1) + return 1; + else + return n * fak (n - 1); + } + + int main (void) + { + for (int n = 1; n <= 5; n++) + printf ("%d\n", fak (n)); + return 0; + } + \end{lstlisting} + + \begin{itemize} + \item[(a)] + Schreiben Sie eine Funktion, die die Fakultät \emph{iterativ} berechnet,\\ + d.\,h.\ mit Hilfe einer Schleife anstelle von Rekursion. + \item[(b)] + Wie viele Multiplikationen erfordern beide Versionen der Fakultätsfunktion? + \item[(c)] + Wieviel Speicherplatz erfordern beide Versionen der Fakultätsfunktion? + \end{itemize} + +% \exercise{Koordinaten-FIFO} +% +% Implementieren Sie einen FIFO für Koordinaten-Paare.\\ +% Koordinatenpaare sollen "`hintereinander eingereiht"' werden. +% +% \begin{itemize} +% \item +% Eine Funktion \lstinline{push (int x, int y)} +% schiebt sie in den FIFO. +% \item +% Eine Funktion \lstinline{pop (int &x, int &y)} +% liest und entfernt sie wieder aus dem FIFO. +% \item +% Eine Funktion \lstinline{dump ()} +% gibt den Inhalt des FIFO auf dem Bildschirm aus. +% \end{itemize} + + \clearpage + + \exercise{Kalender-Berechnung} + + Am 3.\,1.\,2009 meldete \emph{heise online\/}: + \begin{quote} + Kunden des ersten mobilen Media-Players von Microsoft + erlebten zum Jahresende eine böse Überraschung: + Am 31.\ Dezember 2008 fielen weltweit alle Zune-Geräte der ersten Generation aus. + Ursache war ein interner Fehler bei der Handhabung von Schaltjahren. + + \strut\hfill\url{http://heise.de/-193332}, + \end{quote} + Der Artikel verweist auf ein Quelltextfragment, das für einen gegebenen Wert \lstinline{days} + das Jahr und den Tag innerhalb des Jahres + für den \lstinline{days}-ten Tag nach dem 1.\,1.\,1980 berechnen soll: + \begin{lstlisting} + year = ORIGINYEAR; /* = 1980 */ + + while (days > 365) + { + if (IsLeapYear (year)) + { + if (days > 366) + { + days -= 366; + year += 1; + } + } + else + { + days -= 365; + year += 1; + } + } + \end{lstlisting} + Dieses Quelltextfragment weist mehrere Code-Verdopplungen auf: + \begin{itemize} + \item + Die Anweisung \lstinline{year += 1} taucht an zwei Stellen auf. + \item + Es gibt zwei unabhängige Abfragen \lstinline{days > 365} und \lstinline{days > 366}:\\ + eine in einer \lstinline{while}- und die andere in einer \lstinline{if}-Bedingung. + \item + Die Länge eines Jahres wird nicht durch eine Funktion berechnet oder in einer Variablen gespeichert; + stattdessen werden an mehreren Stellen die expliziten numerischen Konstanten 365 und 366 verwendet. + \end{itemize} + Diese Probleme führten am 31.\ Dezember 2008 zu einer Endlosschleife, + die sich -- z.\,B.\ durch eine Funktion \lstinline{DaysInYear()} -- leicht hätte vermeiden lassen. + + Gut hingegen ist die Verwendung einer Präprozessor-Konstanten \lstinline{ORIGINYEAR} + anstelle der Zahl 1980 + sowie die Kapselung der Berechnung der Schaltjahr-Bedingung in einer Funktion \lstinline{IsLeapYear()}. + + \begin{itemize} + \item[(a)] + Erklären Sie das Zustandekommen der Endlosschleife. + \item[(b)] + Schreiben Sie das Quelltextfragment so um, daß es die beschriebenen Probleme + nicht mehr enthält. + \end{itemize} + +% \bigskip +% +% Anleitung: +% \begin{itemize} +% \item +% 1 Array +% \item +% 2 Index-Variablen (eine zum Schreiben, eine zum Lesen) +% \item +% ansonsten wie Stack +% \end{itemize} + +\end{document} diff --git a/20151119/bla/hex-1.c b/20151119/bla/hex-1.c new file mode 100644 index 0000000..937b43c --- /dev/null +++ b/20151119/bla/hex-1.c @@ -0,0 +1,19 @@ +#include <stdio.h> +#include <stdint.h> + +void print_hex (uint32_t x) +{ + print_hex (x / 16); + int e = x % 16; + if (e < 10) + printf ("%d", e); + else + printf ("%c", 'a' + e - 10); +} + +int main (void) +{ + print_hex (16777226); + printf ("\n"); + return 0; +} diff --git a/20151119/bla/mainparam-1.c b/20151119/bla/mainparam-1.c new file mode 100644 index 0000000..e6e64ba --- /dev/null +++ b/20151119/bla/mainparam-1.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (int argc, char **argv) +{ + printf ("argc = %d\n", argc); + for (int i = 0; i < argc; i++) + printf ("argv[%d] = \"%s\"\n", i, argv[i]); + return 0; +} diff --git a/20151119/bla/pruzzel.c b/20151119/bla/pruzzel.c new file mode 100644 index 0000000..e69de29 diff --git a/20151119/blubb b/20151119/blubb new file mode 100644 index 0000000..fc22e11 --- /dev/null +++ b/20151119/blubb @@ -0,0 +1,9 @@ + + ************************ + * * + * ++ ++ * + * ++ ++ * + * - - * + * ------------- * + * * + ******************** diff --git a/20151119/fak-1.c b/20151119/fak-1.c new file mode 100644 index 0000000..75c7d85 --- /dev/null +++ b/20151119/fak-1.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int fak (int n) +{ + if (n <= 1) + return 1; + else + return n * fak (n - 1); +} + +int main (void) +{ + for (int n = 1; n <= 5; n++) + printf ("%d\n", fak (n)); + return 0; +} diff --git a/20151119/hanoi-0.c b/20151119/hanoi-0.c new file mode 100644 index 0000000..38b2ef9 --- /dev/null +++ b/20151119/hanoi-0.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +int main (void) +{ + n[0] = 0; + n[1] = 0; + n[2] = 0; + display (); +} diff --git a/20151119/hanoi-1.c b/20151119/hanoi-1.c new file mode 100644 index 0000000..686325a --- /dev/null +++ b/20151119/hanoi-1.c @@ -0,0 +1,29 @@ +#include <stdio.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +int main (void) +{ + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + display (); +} diff --git a/20151119/hanoi-2.c b/20151119/hanoi-2.c new file mode 100644 index 0000000..bbbc07b --- /dev/null +++ b/20151119/hanoi-2.c @@ -0,0 +1,51 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + move (2, 0, 1); + display (); +} diff --git a/20151119/hanoi-3.c b/20151119/hanoi-3.c new file mode 100644 index 0000000..0fff0ef --- /dev/null +++ b/20151119/hanoi-3.c @@ -0,0 +1,51 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + move (0, 2, 1); + display (); +} diff --git a/20151119/hanoi-4.c b/20151119/hanoi-4.c new file mode 100644 index 0000000..1d6f224 --- /dev/null +++ b/20151119/hanoi-4.c @@ -0,0 +1,52 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, 1); +} diff --git a/20151119/hanoi-5.c b/20151119/hanoi-5.c new file mode 100644 index 0000000..49cbb26 --- /dev/null +++ b/20151119/hanoi-5.c @@ -0,0 +1,59 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } + else + { + int help = 0 + 1 + 2 - from - to; + move (from, help, 1); + move (from, to, disks - 1); + move (help, to, 1); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, DISKS); +} diff --git a/20151119/hanoi-6.c b/20151119/hanoi-6.c new file mode 100644 index 0000000..7815e98 --- /dev/null +++ b/20151119/hanoi-6.c @@ -0,0 +1,61 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + if (n[to] > 0 && tower[to][n[to] - 1] < tower[from][n[from] - 1]) + fatal_error ("trying to move larger disk on smaller one"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } + else + { + int help = 0 + 1 + 2 - from - to; + move (from, help, 1); + move (from, to, disks - 1); + move (help, to, 1); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, DISKS); +} diff --git a/20151119/hanoi-7.c b/20151119/hanoi-7.c new file mode 100644 index 0000000..fadef72 --- /dev/null +++ b/20151119/hanoi-7.c @@ -0,0 +1,61 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 4 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + if (n[to] > 0 && tower[to][n[to] - 1] < tower[from][n[from] - 1]) + fatal_error ("trying to move larger disk on smaller one"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } + else + { + int help = 0 + 1 + 2 - from - to; + move (from, help, disks - 1); + move (from, to, 1); + move (help, to, disks - 1); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = 4; + tower[0][0] = 3; + tower[0][1] = 2; + tower[0][2] = 1; + tower[0][3] = 0; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, DISKS); +} diff --git a/20151119/hanoi-8.c b/20151119/hanoi-8.c new file mode 100644 index 0000000..4b3cb81 --- /dev/null +++ b/20151119/hanoi-8.c @@ -0,0 +1,59 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 5 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf ("%2d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + if (n[to] > 0 && tower[to][n[to] - 1] < tower[from][n[from] - 1]) + fatal_error ("trying to move larger disk on smaller one"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } + else + { + int help = 0 + 1 + 2 - from - to; + move (from, help, disks - 1); + move (from, to, 1); + move (help, to, disks - 1); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = DISKS; + for (int i = 0; i < DISKS; i++) + tower[0][i] = DISKS - i; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, DISKS); +} diff --git a/20151119/hanoi-9.c b/20151119/hanoi-9.c new file mode 100644 index 0000000..8c15ceb --- /dev/null +++ b/20151119/hanoi-9.c @@ -0,0 +1,59 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DISKS 64 + +int n[3], tower[3][DISKS]; +char *program_name; + +void display (void) +{ + for (int i = 0; i < 3; i++) + { + printf ("tower %d: ", i); + for (int j = 0; j < n[i]; j++) + printf (" %d", tower[i][j]); + printf ("\n"); + } + printf ("\n"); +} + +void fatal_error (char *msg) +{ + fprintf (stderr, "%s: %s\n", program_name, msg); + exit (1); +} + +void move (int from, int to, int disks) +{ + if (disks == 1) + { + if (n[from] <= 0) + fatal_error ("trying to move disk from empty tower"); + if (n[to] > 0 && tower[to][n[to] - 1] < tower[from][n[from] - 1]) + fatal_error ("trying to move larger disk on smaller one"); + tower[to][n[to]] = tower[from][n[from] - 1]; + n[to]++; + n[from]--; + display (); + } + else + { + int help = 0 + 1 + 2 - from - to; + move (from, help, disks - 1); + move (from, to, 1); + move (help, to, disks - 1); + } +} + +int main (int argc, char **argv) +{ + program_name = argv[0]; + n[0] = DISKS; + for (int i = 0; i < DISKS; i++) + tower[0][i] = DISKS - i; + n[1] = 0; + n[2] = 0; + display (); + move (0, 2, DISKS); +} diff --git a/20151119/hex-2.c b/20151119/hex-2.c new file mode 100644 index 0000000..a5ec032 --- /dev/null +++ b/20151119/hex-2.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdint.h> + +void print_hex (uint32_t x) +{ + if (x > 0) + { + print_hex (x / 16); + int e = x % 16; + if (e < 10) + printf ("%d", e); + else + printf ("%c", 'a' + e - 10); + } +} + +int main (void) +{ + print_hex (16777226); + printf ("\n"); + return 0; +} diff --git a/20151119/hex-3.c b/20151119/hex-3.c new file mode 100644 index 0000000..d4d8429 --- /dev/null +++ b/20151119/hex-3.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdint.h> + +void print_hex (uint32_t x) +{ + if (x > 0) + { + print_hex (x / 16); + int e = x % 16; + if (e < 10) + printf ("%d", e); + else + printf ("%c", 'a' + e - 10); + } +} + +int main (void) +{ + print_hex (0); + printf ("\n"); + return 0; +} diff --git a/20151119/hex-4.c b/20151119/hex-4.c new file mode 100644 index 0000000..2f1aa73 --- /dev/null +++ b/20151119/hex-4.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <stdint.h> + +void print_hex (uint32_t x) +{ + if (x == 0) + printf ("0"); + else + { + print_hex (x / 16); + int e = x % 16; + if (e < 10) + printf ("%d", e); + else + printf ("%c", 'a' + e - 10); + } +} + +int main (void) +{ + print_hex (0); + printf ("\n"); + return 0; +} diff --git a/20151119/hex-5.c b/20151119/hex-5.c new file mode 100644 index 0000000..60419c1 --- /dev/null +++ b/20151119/hex-5.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdint.h> + +void print_hex (uint32_t x) +{ + if (x >= 16) + print_hex (x / 16); + int e = x % 16; + if (e < 10) + printf ("%d", e); + else + printf ("%c", 'a' + e - 10); +} + +int main (void) +{ + print_hex (16777226); + printf ("\n"); + print_hex (0); + printf ("\n"); + return 0; +} diff --git a/20151119/mainparam-1.c b/20151119/mainparam-1.c new file mode 100644 index 0000000..e6e64ba --- /dev/null +++ b/20151119/mainparam-1.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (int argc, char **argv) +{ + printf ("argc = %d\n", argc); + for (int i = 0; i < argc; i++) + printf ("argv[%d] = \"%s\"\n", i, argv[i]); + return 0; +} -- GitLab