From 95c0a30e454c57a1d55d81cf06fed746db05c593 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Mon, 28 Jan 2019 16:42:33 +0100
Subject: [PATCH] Beispielprogramme 28.1.2019

---
 20190128/gen-pbm-3.c     |  21 +++++++++++++++++++++
 20190128/molpy-right.pbm | Bin 0 -> 699 bytes
 20190128/show-pbm-1.c    |  14 ++++++++++++++
 20190128/show-pbm-2.c    |  29 +++++++++++++++++++++++++++++
 20190128/show-pbm-3.c    |  31 +++++++++++++++++++++++++++++++
 20190128/show-pbm-4.c    |  31 +++++++++++++++++++++++++++++++
 20190128/show-pbm-5.c    |  31 +++++++++++++++++++++++++++++++
 20190128/test.pbm        | Bin 0 -> 41 bytes
 20190128/test.png        | Bin 0 -> 247 bytes
 9 files changed, 157 insertions(+)
 create mode 100644 20190128/gen-pbm-3.c
 create mode 100644 20190128/molpy-right.pbm
 create mode 100644 20190128/show-pbm-1.c
 create mode 100644 20190128/show-pbm-2.c
 create mode 100644 20190128/show-pbm-3.c
 create mode 100644 20190128/show-pbm-4.c
 create mode 100644 20190128/show-pbm-5.c
 create mode 100644 20190128/test.pbm
 create mode 100644 20190128/test.png

diff --git a/20190128/gen-pbm-3.c b/20190128/gen-pbm-3.c
new file mode 100644
index 0000000..91c3193
--- /dev/null
+++ b/20190128/gen-pbm-3.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  int width = 16;
+  int height = 16;
+  FILE *f = fopen ("test.pbm", "w");
+  fprintf (f, "P4\n%d %d\n", width, height);
+
+  uint16_t data = 1;
+  for (int i = 0; i < 16; i++)
+    {
+      uint8_t right_half = data & 0x00ff;
+      uint8_t left_half = (data & 0xff00) >> 8;
+      fprintf (f, "%c%c", left_half, right_half);
+      data <<= 1;
+    }
+
+  return 0;
+}
diff --git a/20190128/molpy-right.pbm b/20190128/molpy-right.pbm
new file mode 100644
index 0000000000000000000000000000000000000000..ff1e9709d11c362c93230f19a194d87cfb43dfcb
GIT binary patch
literal 699
zcmWGA;W9KZP%t&-`i}%YAhG{r=lqKQkC6GnhQztRP>+yVz@U%BagaxF4l=MKI1VeA
z|9|+W1+lh4gYo}|zl;#hR1e1gA6_WLgLw@G4fY>yFvx>Af7lmXkpFPNK^(;SKP%u2
z<A>c-nE(HOApe(D;Q_;kuU8!G|1mK9Qw>mKD3~Rk!2O4T!A7jXf%(HnmtPDH3=ACJ
z%S0GH{M%T6fPsO5!7L<z^TWT^{|`VM-KQ?>AO2VW|Hr_<z!<!0s{DulzyJSgU|?XB
z`m^XhC_w%yFfg>Vr9*wXsFgub^glEV4ly`QX@_xkv@|L)!#GbJMb^aahbr4;Ff)X0
zK9uwSG~2F;FlGNH%!*}z2k$b*+$AtQ|1UcI@34pIS;>5<L4Xk&h@aXR9(ORvgWUH2
zzlR)y76St#nDe_rf<e54fuZ340R{%XrUC{gHwFfQKMV{EyiXYz7!NQsFnnNOU|<bw
zU|^h(z`y_s4Yo@R42%v83=9n*nUxF-3>zIF9LAL$42&F58HSJs21X_*hjA510|SEq
zNDqT3C>R+S48Xz3!UpCQJYZmCU|<BxGk^F276Tc@!2bah&|p3T!~YK;he9~~|384^
R0K}6Ad;1Ry3y1>>DgX-peaip<

literal 0
HcmV?d00001

diff --git a/20190128/show-pbm-1.c b/20190128/show-pbm-1.c
new file mode 100644
index 0000000..166b249
--- /dev/null
+++ b/20190128/show-pbm-1.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+int main (void)
+{
+  FILE *f = fopen ("test.pbm", "r");
+  char id[42];
+  int width, height;
+  fscanf (f, "%s", id);  // should be "P4"
+  printf ("%s\n", id);
+  fscanf (f, "%d", &width);
+  fscanf (f, "%d", &height);
+  printf ("%d %d\n", width, height);
+  return 0;
+}
diff --git a/20190128/show-pbm-2.c b/20190128/show-pbm-2.c
new file mode 100644
index 0000000..0a268fb
--- /dev/null
+++ b/20190128/show-pbm-2.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  FILE *f = fopen ("test.pbm", "r");
+  char id[42];
+  int width, height;
+  fscanf (f, "%s", id);  // should be "P4"
+  fscanf (f, "%d", &width);
+  fscanf (f, "%d", &height);
+
+  for (int y = 0; y < height; y++)
+    {
+      for (int x = 0; x < (width + 7) / 8; x++)
+        {
+          uint8_t data;
+          fscanf (f, "%c", &data);
+          for (int i = 0; i < 7; i++)
+            if (data & (1 << i))
+              printf ("*");
+            else
+              printf (" ");
+        }
+      printf ("\n");
+    }
+
+  return 0;
+}
diff --git a/20190128/show-pbm-3.c b/20190128/show-pbm-3.c
new file mode 100644
index 0000000..dc0547b
--- /dev/null
+++ b/20190128/show-pbm-3.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  FILE *f = fopen ("test.pbm", "r");
+  char id[42];
+  int width, height;
+  fscanf (f, "%s", id);  // should be "P4"
+  fscanf (f, "%d", &width);
+  fscanf (f, "%d", &height);
+  uint8_t dummy;
+  fscanf (f, "%c", &dummy);
+
+  for (int y = 0; y < height; y++)
+    {
+      for (int x = 0; x < (width + 7) / 8; x++)
+        {
+          uint8_t data;
+          fscanf (f, "%c", &data);
+          for (int i = 0; i < 7; i++)
+            if (data & (1 << i))
+              printf ("*");
+            else
+              printf (" ");
+        }
+      printf ("\n");
+    }
+
+  return 0;
+}
diff --git a/20190128/show-pbm-4.c b/20190128/show-pbm-4.c
new file mode 100644
index 0000000..900896c
--- /dev/null
+++ b/20190128/show-pbm-4.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  FILE *f = fopen ("test.pbm", "r");
+  char id[42];
+  int width, height;
+  fscanf (f, "%s", id);  // should be "P4"
+  fscanf (f, "%d", &width);
+  fscanf (f, "%d", &height);
+  uint8_t dummy;
+  fscanf (f, "%c", &dummy);
+
+  for (int y = 0; y < height; y++)
+    {
+      for (int x = 0; x < (width + 7) / 8; x++)
+        {
+          uint8_t data;
+          fscanf (f, "%c", &data);
+          for (int i = 7; i >= 0; i--)
+            if (data & (1 << i))
+              printf ("*");
+            else
+              printf (" ");
+        }
+      printf ("\n");
+    }
+
+  return 0;
+}
diff --git a/20190128/show-pbm-5.c b/20190128/show-pbm-5.c
new file mode 100644
index 0000000..593bb36
--- /dev/null
+++ b/20190128/show-pbm-5.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  FILE *f = fopen ("molpy-right.pbm", "r");
+  char id[42];
+  int width, height;
+  fscanf (f, "%s", id);  // should be "P4"
+  fscanf (f, "%d", &width);
+  fscanf (f, "%d", &height);
+  uint8_t dummy;
+  fscanf (f, "%c", &dummy);
+
+  for (int y = 0; y < height; y++)
+    {
+      for (int x = 0; x < (width + 7) / 8; x++)
+        {
+          uint8_t data;
+          fscanf (f, "%c", &data);
+          for (int i = 7; i >= 0; i--)
+            if (data & (1 << i))
+              printf ("*");
+            else
+              printf (" ");
+        }
+      printf ("\n");
+    }
+
+  return 0;
+}
diff --git a/20190128/test.pbm b/20190128/test.pbm
new file mode 100644
index 0000000000000000000000000000000000000000..6e2a28648e9a83bf66fef6d223f211540f835c81
GIT binary patch
literal 41
jcmWGA;W9K+Ff`+0U}RuoU}4~35MWSXaA0Ua<1zpMP$dI}

literal 0
HcmV?d00001

diff --git a/20190128/test.png b/20190128/test.png
new file mode 100644
index 0000000000000000000000000000000000000000..aebf57c05ebe33327383a3d68d76cbdec22df883
GIT binary patch
literal 247
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdMg|532J?<XXBZe5SkfJR9T^xl_H+M9WMyDr
zU`q0KcVS?>+a<h&fq{X&#M9T6{V}7A0H4AA>w7#I7#OrYT^vI=uCpFA6l5^qVAxpR
zx5dkmNtv1bJ`2A%yEM13Je#_<vaYJ8{~`W6^JO2$UE--{U|>)!ag8WRNi0dVN-j!G
zEJ<ZBGBC8%H89jQvIsFWvobWXGO^G$Ftjo-i1YknhN2-iKP5A*61N6@5uYxQk33!d
KT-G@yGywphp*%nU

literal 0
HcmV?d00001

-- 
GitLab