aboutsummaryrefslogtreecommitdiff
path: root/ch1/1-13_word-length-histogram.c
diff options
context:
space:
mode:
authorzlg <zlg@zlg.space>2013-04-23 13:33:25 -0500
committerzlg <zlg@zlg.space>2013-04-23 13:33:25 -0500
commit82d318879c897b3d665767d74806cd33fe6791c0 (patch)
treea3d2f41ef4e1d11136a3088784c59c604c20e47d /ch1/1-13_word-length-histogram.c
parentSolve Exercise 3-6: itoa (3 arg version) (diff)
downloadknr-82d318879c897b3d665767d74806cd33fe6791c0.tar.gz
knr-82d318879c897b3d665767d74806cd33fe6791c0.tar.bz2
knr-82d318879c897b3d665767d74806cd33fe6791c0.tar.xz
knr-82d318879c897b3d665767d74806cd33fe6791c0.zip
Add exercise descriptions and answers for ch1
* Corrected behavior in solutions for 1-9 and 1-23
Diffstat (limited to '')
-rw-r--r--ch1/1-13_word-length-histogram.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/ch1/1-13_word-length-histogram.c b/ch1/1-13_word-length-histogram.c
index d3115a5..b557417 100644
--- a/ch1/1-13_word-length-histogram.c
+++ b/ch1/1-13_word-length-histogram.c
@@ -1,4 +1,23 @@
#include <stdio.h>
+
+/* The C Programming Language: 2nd Edition
+ *
+ * Exercise 1-13: Write a program to print a histogram of the lengths of words
+ * in its input. It is easy to draw the histogram with the bars horizontal; a
+ * vertical orientation is more challenging.
+ *
+ * Answer: Keep an array of lengths that you can add to when you come out of a
+ * word. At the end of input, you'll have your collection of data. The rest is
+ * deciding how you want to display it. I chose a horizontal layout for this
+ * exercise.
+ *
+ * To do the vertical, you need to choose a theoretical maximum (80 is probably
+ * a bit too high) and simply iterate over the data set checking for the word
+ * length that has that frequency or lower.
+ *
+ * TODO: Write the vertical histogram code.
+ */
+
#define IN 1
#define OUT 0
#define MINWLENGTH 2