Description
Problem 1: deletespaces.c (50 points, 5 per test case)
I this problem you will write a program that reads a string, deletes any whitespace from
the string, and prints the result back to the user. Read the string using fgets, a safe way
to read in strings. To read a string of length at most n into char* str, use the following:
fgets(str, n + 1, stdin);
Generally, fgets is used to read a string from a file, but using stdin as the third
argument causes fgets to read a string from stdin instead.
Example output:
[rsgysel@pc17 \~]\$ ./deletespaces
Enter a max string length: 99
Enter the string to delete whitespace from: The Quick Brown Fox Jumps Over The Lazy Dog
Result:
TheQuickBrownFoxJumpsOverTheLazyDog
[rsgysel@pc17 \~]\$ ./deletespaces
Enter a max string length: 20
Enter the string to delete whitespace from: a bcd ef g hi
Result:
abcdefghi
∗Last updated February 15, 2017
1
Problem 2: matrixaddition.c (50 points, 5 per test case)
In this problem you will implement integer matrix addition. This will require you to
dynamically allocate space for a 2 dimensional array. An example of matrix addition is:
A + B =
”
1 2 3
0 8 5 #
+
”
1 0 1
0 1 0 #
=
”
1 + 1 2 + 0 3 + 1
0 + 0 8 + 1 5 + 0 #
=
”
2 2 2
0 9 5 #
= C
In general, if A and B are matrices with the same number of rows and columns, then
their sum C = A + B is defined by C[i][j] = A[i][j] + B[i][j]. Here, A[i][j] is the integer
in the i
th row and j
th column of A. In the example above, A[1][1] = 1, A[1][3] = 3, and
A[2][2] = 8.
This program has been partially written for you in matrixaddition.c. Write the body
of functions that are marked with a comment that begins with
// Homework TODO: …
Do not modify other parts of the code.
Example output:
[rsgysel@pc17 \~]\$ ./matrixaddition
Enter the number of rows and columns: 2 2
Enter matrix A:
Input row 0 elements, separated by spaces: 1 0
Input row 1 elements, separated by spaces: 0 1
Enter matrix B:
Input row 0 elements, separated by spaces: 2 2
Input row 1 elements, separated by spaces: 3 4
A + B =
3 2
3 5
[rsgysel@pc17 \~]\$ ./matrixaddition
Enter the number of rows and columns: 3 6
Enter matrix A:
Input row 0 elements, separated by spaces: 1 2 3 4 5 6
Input row 1 elements, separated by spaces: 0 0 0 0 0 0
Input row 2 elements, separated by spaces: 10 5 23 84 91 2
Enter matrix B:
Input row 0 elements, separated by spaces: 9 8 7 6 5 4
Input row 1 elements, separated by spaces: 2 1 2 1 2 1
Input row 2 elements, separated by spaces: 14 83 62 93 45 32
A + B =
10 10 10 10 10 10
2 1 2 1 2 1
24 88 85 177 136 34
2