diff --git a/charray.c b/charray.c new file mode 100644 index 0000000..afa556a --- /dev/null +++ b/charray.c @@ -0,0 +1,28 @@ +#include + +main () { + int c, i, nwhite, nother; + int ndigit[10]; + + nwhite = nother = 0; + for (i=0; i<10; i++) + ndigit[i]=0; + + while ((c = getchar()) != EOF); + { + if (c >= '0' && c <='9') + ++ndigit[c-0]; /* Subtract the first element of the array, show only difference*/ + else if (c == ' ' || c == '\n' || c == '\t') + { + ++nwhite; + } + else + { + ++nother; + } + + + + } + +} \ No newline at end of file diff --git a/wordhistogram b/wordhistogram new file mode 100755 index 0000000..58ad339 Binary files /dev/null and b/wordhistogram differ diff --git a/wordhistogram.c b/wordhistogram.c new file mode 100644 index 0000000..f05eb34 --- /dev/null +++ b/wordhistogram.c @@ -0,0 +1,37 @@ +#include +#define IN 1 +#define OUT 0 + + +main () { + /*initialize the counting variables and array*/ + int c, wl, state, i; + int wlarr[10]; + /* zero out the array */ + for (i=0; i<10; i++) + wlarr[i]=0; + /*take input*/ + /*for (i=0; i<10; i++) + printf("On array element %d\n", i);*/ + while ((c = getchar()) != EOF) + { + /*printf("state is %d\n", state);*/ + if (state == OUT) + { + wlarr[i]=wl; + wl=0; + putchar('\n'); + /*if you were out and a new char comes in, you're back in a word*/ + state = IN; + } + if (state == IN); + putchar(c); + ++wl; + if (c == ' ' || c =='\n' || c =='\t') + /*if there's a blank, newline or tab, you're out of a word*/ + state = OUT; + printf("Word length is %d\n", wl); + } + + +} \ No newline at end of file