.obsidian
.stfolder
IT
education
calculus
computer engineering
ECE1400
(not) Chapter 11 Exercises.md
C.md
Chapter 11 Exercises.md
Chapter 12 Exercises.md
Chapter 13 Exercises.md
Chapter 14 Exercises.md
Chapter 15 Exercises.md
Chapter 16 Exercises.md
Chapter 17 Exercises.md
Chapter 2 Exercises.md
Chapter 3 Exercises.md
Chapter 4 Exercises.md
Chapter 5 Exercises.md
Chapter 6 Exercises.md
Chapter 7 Exercises.md
Chapter 8 Exercises.md
Chapter 9 Exercises.md
Flowcharts and Pseudocode.md
ECE1410
ECE2700
english
Ohm's Law.md
math
nutrition
statistics
notes
personal
software
..gitignore.un~
.gitignore
.gitignore~
69 lines
2.5 KiB
Markdown
69 lines
2.5 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.
|
|
|
|
Answer:
|
|
```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, 1, 1, 1, 0, 0, 1}, // 3
|
|
{0, 1, 1, 0, 0, 1, 0}, // 4
|
|
{1, 0, 1, 1, 0, 1, 1}, // 5
|
|
{1, 0, 1, 1, 1, 1, 1}, // 6
|
|
{1, 1, 1, 0, 0, 0, 0}, // 7
|
|
{1, 1, 1, 1, 1, 1, 1}, // 8
|
|
{1, 1, 1, 1, 0, 1, 1} // 9
|
|
};
|
|
```
|
|
|
|
>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]
|
|
|
|
```c
|
|
char chess_board[8][8] = {
|
|
{'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'},
|
|
{'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'},
|
|
{' ', '.', ' ', '.', ' ', '.', ' ', '.'},
|
|
{'.', ' ', '.', ' ', '.', ' ', '.', ' '},
|
|
{' ', '.', ' ', '.', ' ', '.', ' ', '.'},
|
|
{'.', ' ', '.', ' ', '.', ' ', '.', ' '},
|
|
{' ', '.', ' ', '.', ' ', '.', ' ', '.'},
|
|
{'.', ' ', '.', ' ', '.', ' ', '.', ' '},
|
|
{'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'},
|
|
{'R', 'N', 'B', 'K', 'Q', 'B', 'N', 'R'},
|
|
};
|
|
```
|
|
|
|
|
|
> 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).
|
|
|
|
```c
|
|
char checker_board[8][8];
|
|
for (int row = 0; row < 8; row++) {
|
|
for (int column = 0; column < 8; column++) {
|
|
if ((column + row) % 2 == 0) {
|
|
checker_board[row][column] = 'B';
|
|
} else {
|
|
checker_board[row][column] = 'R';
|
|
}
|
|
}
|
|
}
|
|
``` |