2 KiB
Lab 3 - Fancy shapes
In this lab we'll be focusing on the C programming aspect. This will cover for-loops and if-statements. To practice these we'll be drawing some shapes in the terminal!
The input will be one of the following numbers, passed through argv:
- A square
- A triangle
- An inverted triangle (upside down)
- A diamond
Your program will take in 2 arguments. The first is a number between 1 and 4, indicating which of the shapes listed above you'll be printing. The second argument is a number indicating the largest horizontal width of the shape. For example, for a triangle, this'll be the width of the base.
Your program will print the indicated shape at the indicated dimensions. Write
your code in a main.c
file, then run bash check.sh main.c
to test your code.
Examples
Example 1
./a.out 1 4
Output:
$$$$
$$$$
$$$$
$$$$
Example 2
./a.out 1 10
Output:
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$
Example 3
./a.out 2 6
Output:
$$
$$$$
$$$$$$
Notice how with an even number for the width, will result with 2 at the top, not one.
Example 4
./a.out 2 7
Output:
$
$$$
$$$$$
$$$$$$$
Example 5
./a.out 3 14
Output:
$$$$$$$$$$$$$$
$$$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$
$$$$$$
$$$$
$$
Example 6
./a.out 4 14
Output:
$$
$$$$
$$$$$$
$$$$$$$$
$$$$$$$$$$
$$$$$$$$$$$$
$$$$$$$$$$$$$$
$$$$$$$$$$$$
$$$$$$$$$$
$$$$$$$$
$$$$$$
$$$$
$$
Example 7
./a.out 4 15
Output:
$
$$$
$$$$$
$$$$$$$
$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$
$$$$$$$
$$$$$
$$$
$
Testing
Run the following command to test your work:
bash check.sh main.c
If the output doesn't say you passed, your program has a bug. Fix it and then try again.