[
Errata List for the Lab Manual is here.]
Page |
Line |
Change |
To |
54 | 18T | [ROWS][COLUMNS][RANKS] | [NUM_ROWS][NUM_COLUMNS][NUM_RANKS] |
70 | 7B | block of 40 | block of 36 |
72 | Exer. 18 | char[16] name | char name[16] |
102 | 11T | compilation error because 'P' | run-time error because 'P'(80) |
126 | 4B | ala C | a la C |
130 | 12T | str(strstream) | strstream.str() |
151 | 1T | Ci = Pi % 2773 | Ci = Pi17 % 2773 |
223 | diagram | Correct diagram is: |
  |
273 | 10B | const vector & | const vector<T> & |
274 | 11T | const vector & | const vector<T> & |
295 | 6T | d.pop_front(value);
Remove value at the front of d |
d.pop_front();
Remove element at the front of d |
299 | 13B | stack<C> st; | stack<T, C<T> > st; |
326 | 37 | 21, 24, 34, 53, ... | 21, 34, 55, ... |
328 | 5T | in the next section | in Section 7.4 |
332 | 14B | if ('A' <= ch) | if ( ('A' <= ch) |
338 | 1T | Insert a semicolon (;) at the end of the first line, and insert
int main() below first line |
|
346 | 13B | bterm -> !bfactor ... | bfactor -> !bfactor ... |
355 | 15B | first < last | first <= last |
369 370 371 |
15B 8T, 18B 9T, 11T ("B" = bottom, "T" = top) |
container con | container whose first element is pointed to by iterator con |
412 | First diagram | The bottom 0xeffff864
Also, the arrow from the bottom box that points to top box (with address 0xeffff864) |
0xeffff860
Should point to the second box from the top (with address 0xefff860) |
425 | 4B | = double[numValues]; | = new double[numValues]; |
443 | Exer. 13 | Exercise 17 of Sec. 6.4 | Exercise 7 of Sec. 6.3 |
499 | Diagram | Add a back link from node containing E to node containing B | |
514 | 17B | boolean | bool |
515 | 14T | boolean | bool |
516 | 22B
9B & 11B |
boolean
|
bool
|
532 | Figure 10.4 | The code for class UserInfo |
class UserInfo { public: // ***** function members and friends ***** // // -- id accessor string id() const { return myId; } //--- input operator friend istream & operator>>(istream & in, UserInfo & user); //--- equals operator bool operator==(const UserInfo & user) const { return myId == user.myId && myPassword == user.myPassword; } //--- less-than operator bool operator<(const UserInfo & user) const { return myId < user.myId; } //--- greater-than operator bool operator>(const UserInfo & user) const { return myId > user.myId; } private: // ***** data members ***** // string myId, myPassword; }; |
533 | 15B | user.id | user.id() |
554 | 10B | Delete() | DeleteAux() |
686 | Exercise 3 | and | auto |
762 | 3rdentry of cmath | atan2(double y) | atan2(double y, double x) |
803 | 9B | Delete ",terminated by a null character" | |
806 | 20B, 25B | Delete the right parenthesis
after s.replace(pos1, n1, |
Page |
Line |
Change |
To |
vii | 13T ("B" = bottom, "T" = top) |
Tom,Joan, and Abigail | Tom, Joan, Abigail, and Micah
Note: Micah is my seventh grandchild. |
20 | 17B | item < a[mid] | (item < a[mid]) |
15B |
item > a[mid] | (item > a[mid]) | |
21 | 3T |
Delete the sentence beginning "If the value 76 is used ... " |
|
22 | 7B |
mid = n; | mid = n - 1; |
42 | 4B |
(1 + 1/2 + 1/8 + 1/128) X 219 = 856064.0 | |
53 | 6B | 84.5 | 65.0 |
54 | 2&3B | typedef int InventoryArray[NUM_MAKES, NUM_STYLES, NUM_COLORS, int, int] |
const int NUM_YEARS = 10, // 1990-1999 NUM_MODELS = 6; typedef int InventoryArray[NUM_MAKES][NUM_STYLES] [NUM_COLORS][NUM_YEARS][NUM_MODELS]; |
55 | 2T | [1997] | [7] |
57 | 5B | page 0 | page 2 (counting from 0) |
66 | 15B | Date birthdate; | Date birth; |
110 | 9 in Fig. 3.7 | * operator<< ... | /* operator<< ... |
124 | 24B | int i = j = index = 0; | int i = 0, j = 0, index = 0 |
19B | str.Length()) | str.Length() Also, append a right paren ) to this line. |
|
191 | Exer. 9 | Exercise 7 | Exercise 8 |
295 | 2nd line of Fig 6.6 | <iostream. | <iostream> |
299 | 7-8T | a class template stack<C> whose type parameter is a container type | a class template stack<T, C<T> > one of whose type parameters is a container type |
11T & 13B | stack<C> | stack<T, C<T> > | |
17T | stack< deque<T> > | stack<T, deque<T> > | |
19T | stack< vector<T> > | stack<T, vector<T> > | |
20T | stack< list<T> > | stack<T, list<T> > | |
301 | 8T | queue< deque<T> > | queue<T, deque<T> > |
10T | deque<T, list<T> > | deque<T, list<T> > | |
314 | 19T | Type< Container> > objectName; | Type<T, Container<T> > objectName; |
21 | The type parameter of an adapter | One of the type parameters of an adapter | |
332 | 14B | and | && |
337 | 20T | if (n >= 1) | if (n <= 1) |
345 | 10T | return (symbol == '('); | return (symbol == ')'); |
346 | 13B | bterm -> !bfactor ... | bfactor -> !bfactor ... |
Exer. 14 | false || x || true | (false || x) || true | |
355 | 15B | first < last | first <= last |
363 | Exer. 4 | 2n - 1 | 2n - 1 |
364 | Exer. 12 | x = 2; | x *= 2; |
379 | Prob. 1-16 | The numbers of the exercises referred to in these problems should each be increased by 1; i.e., from 20, 21, ..., 35 to 21, 22, ..., 36, respectively | |
412 | Second diagram | Address 0xefff860 in bottommost box | 0xefff864 |
413 | Diagram | Address 0xefff860 in bottommost box | 0xefff864 |
455 | 13-14T | cout << "\nMerge l1 and l3:\n";
l1.merge(l3); Although technically not an error, merge() is
applied to a |
cout << "\nSort l3 and then merge l1 and l3:\n";
l3.sort(); l1.merge(l3); |
456 | 15-16T | Merge l1 and l3:
2 111 111 111 111 555 555 555 2222 222 22 2 (Assuming the above change is made on p. 455) |
Sort l3 and then merge l1 and l3:
2 2 22 111 111 111 111 222 555 555 555 2222 |
496 | 2T | define | #define |
515 | 14T | int & loc | NodePointer & locptr |
525 | 3T | value in its left child (if there is one) | values in its left subtree (if there are any) |
4T | value in its right child (if there is one) | values in its right subtree (if there are any) | |
Line 4 in boxed display | value in left child value in right child |
<
values in left subtree values in right subtree |
|
543 | 10T | SearchAux(locptr->left, item); | return SearchAux(locptr->left, item); |
12T | SearchAux(locptr->right, item); | return SearchAux(locptr->right, item); | |
17B | bool (return type of Insert) | void | |
13B | Make locptr a reference parameter: | BinNodePointer & locptr | |
9B | Change root to locptr and BSTNode to BinNode |
locptr = new BinNode(item); | |
674-5 | The diagrams on p. 675 are misplaced. Each should be moved up ahead of the sentence that precedes it. | ||
800 | Last 2 lines of Table D.3 | Switch the descriptions of toupper() and tolower() | |
809 | 13T | exception() | exception |
822 | Question 17 | Second 0 | 0.5 |
Question 19 | 4, 8, 10 | 2, 2, 2 | |
828 | Ques. 4 | Right child of node I should be L.
Replace node S with T and balance factor 0. Right child should then be Y and node S should become the left child of T with bal. factor 0. |
|
837 | Entry for Null character | 46 | 48 |
Errors and Notes for the
1st & 2nd Printings