ch7 Flashcards
7.1 De ne the following arrays:
A) empNums, a 100-element array of ints
B) payRates, a 25-element array of floats
C) miles, a 14-element array of longs
D) cityName, a 26-element array of string objects
E) lightYears, a 1,000-element array of doubles
7.1 A) int empNums[100]; B) float payRates[25]; C) long miles[14]; D) string cityNames[26]; E) double lightYears[1000];
7.2 What s wrong with the following array definitions? int readings[-1]; float measurements[4.5]; int size; string names[size];
7.2 int readings[-1]; // Size declarator cannot be negative
float measurements[4.5]; // Size declarator must be an integer
int size;
string names[size]; // Size declarator must be a constant
7.3 What would the valid subscript values be in a four-element array of doubles?
7.3 0 through 3
7.4 What is the difference between an array s size declarator and a subscript?
7.4 The size declarator is used in the array declaration statement. It specifies the number of
elements in the array. A subscript is used to access an individual element in an array.
7.5 What is array bounds checking ? Does C++ perform it?
7.5 Array bounds checking is a safeguard provided by some languages. It prevents a program
from using a subscript that is beyond the boundaries of an array. C++ does not perform
array bounds checking.
7.6 What is the output of the following code?
int values[5], count;
for (count = 0; count
7.6 1 2 3 4 5
7.7 The following program skeleton contains a 20-element array of ints called fish. When completed, the program should ask how many sh were caught by shermen 1 through 20, and store this data in the array. Complete the program. #include using namespace std; int main() { const int NUM_FISH = 20; int fish[NUM_FISH]; // You must finish this program. It should ask how // many fish were caught by fishermen 1-20, and // store this data in the array fish. return 0; }
7.7 #include using namespace std; int main() { const int NUM_FISH = 20; int fish[NUM_FISH], count; cout > fish[count]; } return 0; }
7.8 De ne the following arrays:
A) ages, a 10-element array of ints initialized with the values 5, 7, 9, 14, 15,
17, 18, 19, 21, and 23.
B) temps, a 7-element array of floats initialized with the values 14.7, 16.3,
18.43, 21.09, 17.9, 18.76, and 26.7.
C) alpha, an 8-element array of chars initialized with the values J , B , L, A,
* , $ , H , and M .
7.8 A) int ages[10] = {5, 7, 9, 14, 15, 17, 18, 19, 21, 23};
B) float temps[7] = {14.7, 16.3, 18.43, 21.09, 17.9, 18.76, 26.7};
C) char alpha[8] = {‘J’, ‘B’, ‘L’, ‘A’, ‘*’, ‘$’, ‘H’, ‘M’};
7.9 Is each of the following a valid or invalid array definition? (If a definition is
invalid, explain why.)
int numbers[10] = {0, 0, 1, 0, 0, 1, 0, 0, 1, 1};
int matrix[5] = {1, 2, 3, 4, 5, 6, 7};
double radii[10] = {3.2, 4.7};
int table[7] = {2, , , 27, , 45, 39};
char codes[] = {‘A’, ‘X’, ‘1’, ‘2’, ‘s’};
int blanks[];
7.9 The definition of numbers is valid.
The declaration of matrix is invalid because there are too many values in the initialization list.
The definition of radii is valid.
The definition of table is invalid. Values cannot be skipped in the initialization list.
The definition of codes is valid.
The definition of blanks is invalid. An initialization list must be provided when an array
is implicitly sized.
7.10 Given the following array definition:
int values[] = {2, 6, 10, 14};
What does each of the following display?
A) cout
7.10 A) 0
B) 3
C) 6
D) 14
7.11 Given the following array definition:
int nums[5] = {1, 2, 3};
What will the following statement display?
cout «_space;nums[3];
7.11 0
7.12 What is the output of the following code? (You may need to use a calculator.)
double balance[5] = {100.0, 250.0, 325.0, 500.0, 1100.0};
const double INTRATE = 0.1;
cout
- 12
- 00
- 00
- 50
- 00
- 00
7.13 What is the output of the following code? (You may need to use a calculator.) const int SIZE = 5; int time[SIZE] = {1, 2, 3, 4, 5}, speed[SIZE] = {18, 4, 27, 52, 100}, dist[SIZE]; for (int count = 0; count
7.13 1 18 18 2 4 8 3 27 81 4 52 208 5 100 500
7.14 Given the following array definitions
double array1[4] = {1.2, 3.2, 4.2, 5.2};
double array2[4];
will the following statement work? If not, why?
array2 = array1;
7.14 No. An entire array cannot be copied in a single statement with the = operator. The array
must be copied element-by-element.
7.15 When an array name is passed to a function, what is actually being passed?
7.15 The address of the array.
7.16 When used as function arguments, are arrays passed by value?
7.16 No.
7.17 What is the output of the following program? (You may need to consult the ASCII table in Appendix B.) #include using namespace std; // Function prototypes void fillArray(char [], int); void showArray(const char [], int); int main () { const int SIZE = 8; char prodCode[SIZE] = {'0', '0', '0', '0', '0', '0', '0', '0'}; fillArray(prodCode, SIZE); showArray(prodCode, SIZE); return 0; } // Definition of function fillArray. // (Hint: 65 is the ASCII code for 'A') void fillArray(char arr[], int size) { char code = 65; for (int k = 0; k
7.17 ABCDEFGH
7.18 The following program skeleton, when completed, will ask the user to enter 10 integers, which are stored in an array. The function avgArray, which you must write, is to calculate and return the average of the numbers entered. #include using namespace std; // Write your function prototype here int main() { const int SIZE = 10; int userNums[SIZE]; cout > userNums[count]; } cout
7.18 (The entire program is shown here.) #include using namespace std; // Function prototype here double avgArray(int []); int main() { const int SIZE = 10; int userNums[SIZE]; cout > userNums[count]; } cout
7.19 Define a two-dimensional array of ints named grades. It should have 30 rows
and 10 columns.
7.19 int grades[30][10];
7.20 How many elements are in the following array?
double sales[6][4];
7.20 24
7.21 Write a statement that assigns the value 56893.12 to the first column of the first
row of the array defined in Question 7.20.
7.21 sales[0][0] = 56893.12;
7.22 Write a statement that displays the contents of the last column of the last row of
the array defined in Question 7.20.
7.22 cout «_space;sales[5][3];
7.23 Define a two-dimensional array named settings large enough to hold the table
of data below. Initialize the array with the values in the table.
12 24 32 21 42
14 67 87 65 90
19 1 24 12 8
7.23 int settings[3][5] = {{12, 24, 32, 21, 42},
{14, 67, 87, 65, 90},
{19, 1, 24, 12, 8}};
7.24 Fill in the table below so it shows the contents of the following array:
int table[3][4] = {{2, 3}, {7, 9, 2}, {1}};
2 3 0 0
7 9 2 0
1 0 0 0