Chapitre 2:
Page 39, première ligne. La probabilité au lieu
de portabilité (Intervalle des types entier)
Page 42, le texte est juste mais pas le commentaire du code (merci
Michael)
int nombre1 = 1;
int nombre2 = nombre1++; //nombre2=1 nombre1=2
nombre2 = ++nombre1; //nombre2=3 nombre1=3
Chapitre 5:
Page 105 et 489-491 (solution). Exercice 3.Vie.cpp.
Très fort M.Lambinet (74 ans) et mes compliments. Dans la boucle
"Vide le jeu" il faudrait ajouter monde_copie[i][j]
= 0; car les bords peuvent avoir des valeurs non initialisées
et faire apparaître des "vies" à la première
génération sur les bords.
Chapitre 6:
Exercice 1. Retouner le résultat en double
et non en long (trop
court)
Chapitre 7:
Page 145. Première ligne bizarre doit être : import
monpaquet;
Juste sur le CD: en cas de doute pour le code, toujours s'y référer
Chapitre 9:
Page 220. Exercice 4, version C++, Annexe1, page 516, class CompTxt
Vous trouverez une nouvelle version
ici. La version du livre ne retourne pas le bon numéro
de ligne. Cela vient du fait que l'opérateur >> retournera
une chaîne de caractère à chaque espace et non
en fin de ligne. La nouvelle version utilise la méthode getline().
Chapitre 11:
Page 250: Un résultat de
mc2d: 3 est possible sur certaines machines et compilateurs.
Mais attention.
Page 260-262 (M.Lambinet): Vraisemblablement une correction dans
le compilateur g++ version 2.95.3.
cout << ea.add(eb) <<
" " << eb.add(ea) << endl;
Les instructions sont maintenant exécutées de droite
à gauche !
Code correct et plus lisible :
EntierA ea(10); //ea est
10
EntierB eb(20); //eb est 20
ea.add(eb); //ea devient 30 (10 + 20)
eb.add(ea); //eb devient 50 (30 + 20)
cout << ea.get() << " " << eb.get() <<
endl;
Pour obtenir 40 30, on inverse :
EntierA ea(10);
EntierB eb(20);
eb.add(ea); //eb devient 30
ea.add(eb); //ea devient 40
cout << ea.get() << " " << eb.get() <<
endl;