33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
> 1. We discussed using the expression `sizeof(a) / sizeof(a[0]` to calculate the number of elements in an array. The expression `sizeof(a) / sizeof(t)` where `t` is the type of `a`'s elements would also work, but it's considered an inferior technique. Why?
|
|
|
|
Answer:
|
|
Using the type of the array's first element means that if you change the type of an array, it won't break the code that calculates the number of elements.
|
|
|
|
> 3. Write a declaration of an array named weekend containing seven `bool` values. Include an initialize that makes the first and last values `true`; all other values should be `false`.
|
|
|
|
Answer:
|
|
```c
|
|
bool weekend[] = {true, [1 ... 5] = false, true};
|
|
```
|
|
|
|
> 5. Calculators, watches, and other electronic devices often rely on 7 segment displays for numerical output. To form a digit, such devices turn on some of the seven segments while leaving others off.
|
|
>
|
|
> Here's what the array might look like, with each row representing one digit:
|
|
```c
|
|
const int segments[10][7] = {{1, 1, 1, 1, 1, 1, 0}, ...};
|
|
```
|
|
> I've given you the first row of the initializer, fill in the rest.
|
|
|
|
```c
|
|
const int segments[10][7] = {
|
|
{1, 1, 1, 1, 1, 1, 0}, // 0
|
|
{0, 1, 1, 0, 0, 0, 0}, // 1
|
|
{1, 1, 0, 1, 1, 0, 1}, // 2
|
|
{1, }
|
|
};
|
|
```
|
|
|
|
>10. Write a declaration for an 8x8 `char` array named `chess_board`. Include an initializer that puts the following data into the array, one character per array element:
|
|
\[omitted]
|
|
|
|
> 11. Write a program fragment that declares an 8x8 `char` array named `checker_board` and then uses a loop to store the following data into the array (one character per array element). |