diff options
| author | Haidong Ji | 2022-04-15 15:51:30 -0500 | 
|---|---|---|
| committer | Haidong Ji | 2022-04-15 15:51:30 -0500 | 
| commit | 442a49ad5a48d417345959b903ae6a6d32d55759 (patch) | |
| tree | c7127bb497e5e439018b1915e0136eec2c9cb124 /05_squares/README | |
Excellent fundamentals and displine training, many tools and techniques
exercises: gdb, emacs, valgrind, git
Diffstat (limited to '05_squares/README')
| -rw-r--r-- | 05_squares/README | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/05_squares/README b/05_squares/README new file mode 100644 index 0000000..b239759 --- /dev/null +++ b/05_squares/README @@ -0,0 +1,48 @@ + 1. Open the file "squares.c" and look at the squares function. +    You will find that I have already done steps 1--4 +    for an algorithm which draws two (possibly overlapping) +    squares (one of #s and one of *s).  + + 2. Read the generalized steps that I have written as comments +    in this file.  Note that whenever I indicate a range +    (count from x to y, or between x and y), the range is  +    inclusive of the lower bound, and exclusive of the upper bound. +    All counting is "count up by one."  Determine if there are +    any parts of these steps that you will want to abstract +    out into a separate function. + + 3. Implement this algorithm by translating my steps into code. +    You may abstract any pieces you want out into separate functions. +    We've provided two helpers with specification we think may be helpful. + + 4. We have provided squares_test.o, which has a main function +    that takes four command line arguments (size1, x_offset, y_offset, size2), +    and calls your squares function with those arguments. +    You can compile your code and link it with this object file +    to make a program: +       gcc -o squares -Wall -Werror -std=gnu99 --pedantic squares.c squares_test.o +    Then you can run it like this: +      ./square 4 1  2 3 +    which would call your squares function with +      size1=4 +      x_offset=1 +      y_offset=2 +      size2=3 + +    which should produce output that looks like this: +#### +#  # +#*** +#*#* + *** +We have also provided 3 files which show the correct output for three inputs +(./squares 3 5 8 2,./squares 5 2 4 6,./squares 9 2 3 4) in the files +whose names starts with ans_ (and then has the parameter values in its name, +separated by _s). + +Use "diff" like you just learned to compare your program's output +to the correct output. + + 5. Submit your modified squares.c file (git commit/git push/grade). + + | 
