Due: 10/7 Files should go in ~/HW/lab11/ For the programs, I'll give you correct working versions and a labcheck at some point, maybe. Note - try these problems out on small text files. A large text file you can try is /u1/junk/kinne/shakespeare_1000_lines.txt Once you have everything working you can try it on shakespeare.txt in that directory, though note that it takes a minute or two to run 2) simple_list2.c - is the same as simple_list.c but instead of printing all of the counts you instead print only the word with the highest count. In case of ties, output the one that appeared last in the file (which ends up closer to the head of the list because the list inserts at the head). 2 points. Hint: copy/paste print_list into your simple_list2.c, call it findLargest, and ... 3) simple_list3.c - now the program asks for a word to lookup (printf/scanf) and prints out the count. Note - convert the word to lower case before doing the lookup. If the word is not found, print that it is not found. 2 points. Hint: call lookup_list 4) simple_list4.c - now the program prints out the total count for all words that started with each letter - so 26 counts are printed, (optiona - and also the % of the total count for each first letter). 2 points. Hint: same as 2, it's a loop that goes through the whole list. Use int counts[26]; or int counts[256]; init to 0, call doCounts, then print. 5) simple_list5.c - same as list4, but now do the counts based off the second letter in each word (don't include 1 letter words in the counts). 2 points. Hint: very similar to 4, get that working first. 6) simple_list6.c - print the full list of counts from highest count to lowest. This problem is NOT graded or worth any points. There are many ways to do this. The way I suggest is to create a separate list2.c, list2.h that does comparisons based on the counts rather than the word, and insert all of the nodes into a second list, and then print out of that one. Or do a sorting algorithm on the linked list (bubble sort would be easy to implement). cd HW/lab11 if [ ! -f Makefile.backup ]; then mv Makefile Makefile.backup; fi cp ~jkinne/courses/202/lab11/Makefile . rm -f simple_list2 simple_list3 simple_list4 simple_list5 make ./simple_list2 /u1/junk/kinne/shakespeare_1000_lines.txt ./simple_list3 /u1/junk/kinne/shakespeare_1000_lines.txt the ./simple_list4 /u1/junk/kinne/shakespeare_1000_lines.txt | grep "h:" ./simple_list5 /u1/junk/kinne/shakespeare_1000_lines.txt | grep "k:" jkinne@cs:~/courses/202/lab11$ Word with maximum count - and: 200 jkinne@cs:~/courses/202/lab11$ Word to look up: the: 182 jkinne@cs:~/courses/202/lab11$ h: 264 jkinne@cs:~/courses/202/lab11$ k: 3