Description
Testcase 8.1: inputTestcase 8.1: output
aadd int: Putting 3 into queue
31 items in queue
aType a to add, d to delete, q to quit:
5add int: Putting 5 into queue a2 items in queue
7Type a to add, d to delete, q to quit: qadd int: Putting 7 into queue
3 items in queue
Type a to add, d to delete, q to quit:
Bye.
Problem 8.2 Removing from the queue
Extend the source code of queue.c from Problem 8.1 by implementing the dequeue() function. Follow the hints given in the slides (see Lecture 8, slide 13) and consider the case of a queue underflow.
You can assume that the input will be valid except the semantical possibility of reaching queue underflow. To pass the testcases your output has to be identical with the provided ones.
| Testcase 8.2: input | Testcase 8.2: output
add int: Putting 3 into queue 1 items in queue Type a to add, d to delete, q to quit: add int: Putting 5 into queue 2 items in queue Type a to add, d to delete, q to quit: add int: Putting 7 into queue 3 items in queue Type a to add, d to delete, q to quit: Removing 3 from queue 2 items in queue Type a to add, d to delete, q to quit: Removing 5 from queue 1 items in queue Type a to add, d to delete, q to quit: Bye. |
|
| a 3 a 5 a 7 d d q | ||
| Problem 8.3 | Printing the queue | |
Language: C
Extend the source code of queue.h, queue.c and testqueue.c from Problem 8.2 by adding and implementing the additional function printq() for printing the elements of the queue separated by spaces. If you enter ’p’, then the program should print the elements of the queue. Make sure that you can print more than once.
You can assume that the input will be correct. To pass the testcases your output has to be identical with the provided ones.
| Testcase 8.3: input | Testcase 8.3: output
add int: Putting 3 into queue 1 items in queue Type a to add, d to delete, p to print, q to quit: add int: Putting 5 into queue 2 items in queue Type a to add, d to delete, p to print, q to quit: add int: Putting 7 into queue 3 items in queue Type a to add, d to delete, p to print, q to quit: content of the queue: 3 5 7 3 items in queue Type a to add, d to delete, p to print, q to quit: Bye. |
|
| a 3 a 5 a 7 p q | ||
| Problem 8.4 | ||
Language: C
Modify the stack implemented for Problem 7.7 such that you can use it for converting a positive decimal number stored in an unsigned int into the binary representation of the number using division by 2 and storing the remainder of the division by 2 in the stack.
Upload again all files related to this problem (i.e., stack.h, stack.c and convertingstack.c). You can assume that the input will be valid. To pass the testcases your output has to be identical with the provided ones.
Testcase 8.4: inputTestcase 8.4: output
75The binary representation of 75 is 1001011.
Problem 8.5 Read chars and write an int
Write a program which reads the first two characters from the file “chars.txt” and writes the sum of their ASCII code values as a number into “codesum.txt”. Use an editor to create the input file “chars.txt”. Your program is responsible to create the output file “codesum.txt”. You can safely assume that the content of the input file will be valid.
Problem 8.6 Read and write doubles
Write a program which reads from the keyboard the names of two files containing two double numbers. Your program should read these two values from the two files, compute their sum, difference, product and division, and write the results on separate lines into the file “results.txt”. You can safely assume that the input is valid, the two input files exist and each contains one valid double value.
Language: C
Write a program which reads the content of two files “text1.txt” and “text2.txt” line by line and merges them into another file called “merge12.txt”.
You can safely assume that the input is valid.
| Problem 8.8 Counting words in a file | |
Language: C
Write a program which reads the content of a file given as input and counts the number of the words in the file. It is assumed the words are separated by one or multiple of the following characters: ’ ’ ’,’ ’?’ ’!’ ’.’ ’\t’ ’\r’ ’\n’. For testing your solution to this problem, please use:
Testcase 8.8: inputTestcase 8.8: output
words.txtThe file contains 17 words.
Problem 8.9 Concat n files Language: C
Write a program which reads from the standard input the value of an integer n and then the names of n files. The program should concatenate the content of the n files separated by ’\n’ and write the result on the standard output and also into output.txt.
Read the input files and write the output file using the binary mode. Use a char buffer of size 64 bytes and chunks of size 1 byte when reading and the same buffer with chunks of size 64 bytes (or less if the last write and file size is not a multiply of 64) when writing. For testing your solution to this problem, please use:
| Testcase 8.9: input
3 file1.txt file2.txt file3.txt |
Testcase 8.9: output
Concating the content of 3 files … The result is: The first file’s content. |
The second file’s content. The third files’s content.
The result was written into output.txt



