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