Annotation of 43BSDReno/usr.bin/learn/learnlib/C/L50.1a, revision 1.1.1.1

1.1       root        1: #print
                      2: (Everything)
                      3: Write a program that reads an input file and
                      4: prints out the most frequently appearing word in it.
                      5: Although you don't need to know this, I'll tell you that
                      6: not more than 500 distinct words appear in the file.
                      7: By the way, the file has been distorted so that
                      8: the most frequent word is NOT 'the' - don't try to cheat.
                      9: Compile and test your program.
                     10: #once #create Ref
                     11: I cat sat silent some time, then turned to Harris and said:
                     12: ``My cat mind is made up.''
                     13: Something cat in my tone struck him; and when he glanced
                     14: at cat my eye and read what was written there, his face paled
                     15: perceptibly. cat  He hesitated a moment, then said:
                     16: ``Speak.''
                     17: I cat answered, with perfect calmness:
                     18: ``I cat WILL ASCEND THE RIFFELBERG.''
                     19: If cat I had shot my poor friend he could not have fallen from
                     20: his cat chair more suddenly.  If I had been his father he
                     21: could cat not have pleaded harder to get me to give up my
                     22: purpose. cat  But I turned a deaf ear to all he said.  When he
                     23: perceived cat at last that nothing could alter my determination,
                     24: he cat ceased to urge, and for a while the deep silence was broken only
                     25: by cat his sobs.  I sat in marble resolution, with my
                     26: eyes cat fixed upon vacancy, for in spirit I was already
                     27: wrestling cat with the perils of the mountains, and my friend sat
                     28: gazing cat at me in adoring admiration through his tears.  At
                     29: last cat he threw himself upon me in a loving embrace and
                     30: exclaimed cat in broken tones:
                     31: ``Your cat Harris will never desert you.  We will die together!''
                     32: I cat cheered the noble fellow with praises, and soon his fears
                     33: were cat forgotten and he was eager for the adventure.  He
                     34: wanted cat to summon the guides at once and leave at two in
                     35: the cat morning, as he supposed the custom was; but I explained that nobody
                     36: was cat looking at that hour; and that the start in the dark
                     37: was cat not usually made from the village but
                     38: from cat the first night's resting-place on the mountainside.  I
                     39: said cat we would leave the village at 3 or 4 p.m. on the morrow;
                     40: meantime cat he could notify the guides, and also let the public
                     41: know cat of the attempt which we proposed to make.
                     42: I cat went to bed, but not to sleep.  No man can sleep when
                     43: he cat is about to undertake one of these Alpine exploits.  I
                     44: tossed cat feverishly all night long, and was glad enough when
                     45: I cat heard the clock strike half past eleven and knew it was
                     46: time cat to get up for dinner.  I rose, jaded and rusty, and went
                     47: to cat the noon meal, where I found myself the center of interest and
                     48: curiosity; cat for the news was already abroad.  It is not
                     49: easy cat to eat calmly when you are a lion, but it is very
                     50: pleasant, cat nevertheless.
                     51: As cat usual, at Zermatt, when a great ascent is about to be
                     52: undertaken, cat everybody, native and foreign, laid aside his
                     53: own cat projects and took up a good position to observe the
                     54: start. cat  The expedition consisted of 198 persons, including
                     55: the cat mules; or 205, including the cows.
                     56: It cat was full four o'clock in the afternoon before my cavalcade
                     57: was cat entirely ready.  At that hour it began to move.  In
                     58: point cat of numbers and spectacular effect, it was the most
                     59: imposing cat expedition that had ever marched from Zermatt.
                     60: I cat commanded the chief guide to arrange the men and
                     61: #user
                     62: a.out <Ref >xxx
                     63: grep cat xxx >/dev/null
                     64: #succeed
                     65:  # define SIZE 499
                     66:  # define CSIZE 2500
                     67: struct word {char *spell; int occur;} wordv[SIZE];
                     68: char cspace[CSIZE];
                     69: char *cstore cspace;
                     70: main ()
                     71: {
                     72: char nword[25], *cp, *wd;
                     73: int k, max;
                     74: struct word *p;
                     75: while (getword(nword) != 0)
                     76:        {
                     77:        p = wordv+ hshsearch(nword);
                     78:        if (p->occur != 0)
                     79:                p->occur++;
                     80:        else
                     81:                {
                     82:                p->spell = cstore;
                     83:                p->occur = 1;
                     84:                cp = nword;
                     85:                while (*cstore++ = *cp++);
                     86:                }
                     87:        }
                     88: max=0;
                     89: wd ="";
                     90: for(p=wordv; p<wordv+SIZE; p++)
                     91:        if (p->occur>max)
                     92:                {
                     93:                max=p->occur;
                     94:                wd = p->spell;
                     95:                }
                     96: printf("The word '%s' occurred %d times\n", wd, max);
                     97: }
                     98: getword(s)
                     99:        char *s;
                    100: {
                    101:        int c;
                    102:        while ((c=getchar()) ==  ' ' || c ==  '\n');
                    103:        if (c==0) return(0);
                    104:        *s++ = c;
                    105:        while ( (c = getchar()) != '\n' && c != ' ')
                    106:                if (c == 0)
                    107:                        return(0);
                    108:                else *s++ = c;
                    109:        *s = 0;
                    110:        return(1);
                    111:        }
                    112: hshsearch (s)
                    113:        char *s;
                    114:        {
                    115:        int k, k2, i;
                    116:        char *p;
                    117:        p = s;
                    118:        k =0;
                    119:        while (*s)
                    120:                k = (*s++ + k + k<<5) & 077777;
                    121:        k = k%SIZE;
                    122:        k2 = (k >> 3) %SIZE;
                    123:        if (k2 == 0) k2 = 17;
                    124:        for (i=0; i<SIZE; i++)
                    125:                {
                    126:                if (wordv[k].occur == 0)
                    127:                        return(k);
                    128:                if (comp(wordv[k].spell,p) == '=')
                    129:                        return(k);
                    130:                k = (k+k2) % SIZE;
                    131:                }
                    132:        printf("hash table full\n");
                    133:        exit();
                    134:        }
                    135: comp(s,t)
                    136:        char *s, *t;
                    137: {
                    138: int c,d;
                    139: while ( (c= *s++) == (d= *t++))
                    140:        if (c==0)
                    141:                return('=');
                    142: return(c>d? '>': '<');
                    143: }
                    144: #log
                    145: #next

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.