Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la
solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et
affiche la somme, la moyenne, le produit, le plus petit et le plus grand
de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
Le lundi 12 juillet 2004 à 05:00, Jean-Philippe Provost a écrit dans fr.comp.lang.c++ :
Bonjour,
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
somme = nombre1 + nombre2 + nombre3; cout << "La somme est " << somme << endl;
OK.
moyenne = (nombre1 + nombre2 + nombre3) / 3; cout << "La moyenne est " << moyenne << endl;
Tu calcules deux fois nombre1 + nombre2 + nombre3, c'est dommage.
Petit problème d'arrondi. Deux solutions : 1. Faire de moyenne un double (et diviser par 3.0). 2. Augmenter la somme avant de diviser, pour que le troncage de la division donne un entier plus proche de la réalité.
produit = nombre1 * nombre2 * nombre3; cout << "Le produit est " << produit << endl;
OK.
if ( nombre1 < nombre2 or nombre1 < nombre3 ) cout << "Le plus petit nombre est " << nombre1 << endl;
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET* nombre1 < nombre3.
Idem pour les autres.
Avec deux variables plus_petit et plus_grand, tu peux faire moins de comparaisons, ce serait plus élégant.
-- ___________ 2004-07-12 08:23:55 _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Le lundi 12 juillet 2004 à 05:00, Jean-Philippe Provost a écrit dans
fr.comp.lang.c++ :
Bonjour,
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la
solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et
affiche la somme, la moyenne, le produit, le plus petit et le plus grand
de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
somme = nombre1 + nombre2 + nombre3;
cout << "La somme est " << somme << endl;
OK.
moyenne = (nombre1 + nombre2 + nombre3) / 3;
cout << "La moyenne est " << moyenne << endl;
Tu calcules deux fois nombre1 + nombre2 + nombre3, c'est dommage.
Petit problème d'arrondi.
Deux solutions :
1. Faire de moyenne un double (et diviser par 3.0).
2. Augmenter la somme avant de diviser, pour que le troncage de la
division donne un entier plus proche de la réalité.
produit = nombre1 * nombre2 * nombre3;
cout << "Le produit est " << produit << endl;
OK.
if ( nombre1 < nombre2 or nombre1 < nombre3 )
cout << "Le plus petit nombre est " << nombre1 << endl;
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET*
nombre1 < nombre3.
Idem pour les autres.
Avec deux variables plus_petit et plus_grand, tu peux faire moins de
comparaisons, ce serait plus élégant.
--
___________ 2004-07-12 08:23:55
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Le lundi 12 juillet 2004 à 05:00, Jean-Philippe Provost a écrit dans fr.comp.lang.c++ :
Bonjour,
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
somme = nombre1 + nombre2 + nombre3; cout << "La somme est " << somme << endl;
OK.
moyenne = (nombre1 + nombre2 + nombre3) / 3; cout << "La moyenne est " << moyenne << endl;
Tu calcules deux fois nombre1 + nombre2 + nombre3, c'est dommage.
Petit problème d'arrondi. Deux solutions : 1. Faire de moyenne un double (et diviser par 3.0). 2. Augmenter la somme avant de diviser, pour que le troncage de la division donne un entier plus proche de la réalité.
produit = nombre1 * nombre2 * nombre3; cout << "Le produit est " << produit << endl;
OK.
if ( nombre1 < nombre2 or nombre1 < nombre3 ) cout << "Le plus petit nombre est " << nombre1 << endl;
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET* nombre1 < nombre3.
Idem pour les autres.
Avec deux variables plus_petit et plus_grand, tu peux faire moins de comparaisons, ce serait plus élégant.
-- ___________ 2004-07-12 08:23:55 _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Twxs
Jean-Philippe Provost wrote:
Bonjour, bonjour
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
V'la le code:
s'il s'agit d'un livre sur le c++, le but est peut etre d'utiliser le for_each pour utiliser plusieurs effectuer differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre l'interet profond d'un tel exercice...
vector<int> tableau; struct Somme{ int res; Somme() :res(0); void operator(cont int & v){ res += v; } }somme; for_each(tableau.begin(), tableau.end(), somme); cout << "la somme est : " << somme.res << endl;
pose toi des question sur la scalabilité de ton code si l'on te demande de saisir 256 nombres, ta strategie avec une variable par entree risque de te faire perdre qq cheveux pour gerer les tests ;-)
Twxs
Jean-Philippe Provost wrote:
Bonjour,
bonjour
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la
solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et
affiche la somme, la moyenne, le produit, le plus petit et le plus grand
de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
V'la le code:
s'il s'agit d'un livre sur le c++, le but est peut etre
d'utiliser le for_each pour utiliser plusieurs effectuer
differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre
l'interet profond d'un tel exercice...
vector<int> tableau;
struct Somme{
int res;
Somme() :res(0);
void operator(cont int & v){
res += v;
}
}somme;
for_each(tableau.begin(), tableau.end(), somme);
cout << "la somme est : " << somme.res << endl;
pose toi des question sur la scalabilité de ton code si l'on te demande
de saisir 256 nombres, ta strategie avec une variable par entree risque
de te faire perdre qq cheveux pour gerer les tests ;-)
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
V'la le code:
s'il s'agit d'un livre sur le c++, le but est peut etre d'utiliser le for_each pour utiliser plusieurs effectuer differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre l'interet profond d'un tel exercice...
vector<int> tableau; struct Somme{ int res; Somme() :res(0); void operator(cont int & v){ res += v; } }somme; for_each(tableau.begin(), tableau.end(), somme); cout << "la somme est : " << somme.res << endl;
pose toi des question sur la scalabilité de ton code si l'on te demande de saisir 256 nombres, ta strategie avec une variable par entree risque de te faire perdre qq cheveux pour gerer les tests ;-)
Twxs
Loïc Joly
Serge Paccalin wrote:
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET* nombre1 < nombre3.
Attention aux cas limite. Si n1 = n2 = 10 et n3 = 11, le test ci-dessus ne trouvera jamais de nombre plus petit.
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
-- Loïc
Serge Paccalin wrote:
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET*
nombre1 < nombre3.
Attention aux cas limite. Si n1 = n2 = 10 et n3 = 11, le test ci-dessus
ne trouvera jamais de nombre plus petit.
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de
présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Soit (qui a l'avantage de marcher avec un nombre quelconque de données):
vector <int> v;
v.push_back(n1);
v.push_back(n2);
v.push_back(n3);
v.sort();
minVal = v[0];
Pour que nombre1 soit le plus petit, il faut que nombre1 < nombre2 *ET* nombre1 < nombre3.
Attention aux cas limite. Si n1 = n2 = 10 et n3 = 11, le test ci-dessus ne trouvera jamais de nombre plus petit.
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
-- Loïc
Loïc Joly
Twxs wrote:
s'il s'agit d'un livre sur le c++, le but est peut etre d'utiliser le for_each pour utiliser plusieurs effectuer differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre l'interet profond d'un tel exercice...
Ca dépend peut-être si on est chapitre 1 ou chapitre 152.
-- Loïc
Twxs wrote:
s'il s'agit d'un livre sur le c++, le but est peut etre
d'utiliser le for_each pour utiliser plusieurs effectuer
differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre
l'interet profond d'un tel exercice...
Ca dépend peut-être si on est chapitre 1 ou chapitre 152.
s'il s'agit d'un livre sur le c++, le but est peut etre d'utiliser le for_each pour utiliser plusieurs effectuer differentes operation sur un conteneur. Sinon, j'avoue ne pas comprendre l'interet profond d'un tel exercice...
Ca dépend peut-être si on est chapitre 1 ou chapitre 152.
-- Loïc
Franck Branjonneau
Loïc Joly écrivait:
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Oui. Nous cherchons un minimum.
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de
présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Oui. Nous cherchons un minimum.
Soit (qui a l'avantage de marcher avec un nombre quelconque de données):
vector <int> v;
v.push_back(n1);
v.push_back(n2);
v.push_back(n3);
v.sort();
minVal = v[0];
Pas std::min_element() ?
--
Franck Branjonneau <fasbjx@free.fr>
Personellement j'utiliserais (mais ça dépend beaucoup de l'ordre de présentation des choses dans le bouquin) soit :
minVal = min (n1, min(n2, n3);
Oui. Nous cherchons un minimum.
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
Pas std::min_element() ? -- Franck Branjonneau
kanze
Jean-Philippe Provost wrote in message news:<Z8nIc.33932$...
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
int main() { int nombre1, nombre2, nombre3, somme, moyenne, produit;
Un std::vector me semble plus indiqué pour les entrées. Quant aux résultats, on ne s'en sert que pour les afficher immédiatement. Pas besoin de les stocker, alors.
Et sauf des exceptions assez rares (la lecture d'un fichier en est un), on ne déclare pas les variables sans les initialiser.
Ce qui ne va pas donner quelque chose de bien si l'utilisateur entre abc. Il faut gerer les erreurs en cas d'entrée.
somme = nombre1 + nombre2 + nombre3; cout << "La somme est " << somme << endl;
Un vecteur et accumulate me semble plus indiquer.
moyenne = (nombre1 + nombre2 + nombre3) / 3; cout << "La moyenne est " << moyenne << endl;
Dans la mésure où tu as sauvegardé la somme, pourquoi pas s'en servir ?
produit = nombre1 * nombre2 * nombre3; cout << "Le produit est " << produit << endl;
if ( nombre1 < nombre2 or nombre1 < nombre3 ) cout << "Le plus petit nombre est " << nombre1 << endl;
if ( nombre2 < nombre1 or nombre2 < nombre3 ) cout << "Le plus petit nombre est " << nombre2 << endl;
if ( nombre3 < nombre1 or nombre3 < nombre2 ) cout << "Le plus petit nombre est " << nombre3 << endl;
if ( nombre1 > nombre2 or nombre1 > nombre3 ) cout << "Le plus grand nombre est " << nombre1 << endl;
if ( nombre2 > nombre1 or nombre2 > nombre3 ) cout << "Le plus grand nombre est " << nombre2 << endl;
if ( nombre3 > nombre1 or nombre3 > nombre2 ) cout << "Le plus grand nombre est " << nombre3 << endl;
Beaucoup de complexité pour rien. Si tu mettais les nombres dans un vector, puis utiliser sort, tu aurais tout de suite et le plus grand et le plus petit.
return 0; }
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part, j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la multiplication -, et la sémantique des opérateurs > et <. Je ne peux voir que deux intérêts possibles de ce genre d'exercise : que tu apprennes la gestion des erreurs en entrée, ou que tu apprennes l'utilisation de certaines fonctions de la bibliothèque standard. Ta réponse a passé de côté des deux. (Le fait qu'on démande des entrées du clavier suggère en fait très fort que le but, c'est bien la gestion de l'erreur. Typiquement, pour ce genre de problème, quand ce n'est pas le but, on prend les entrées des paramètres de la ligne de commande, c-à-d argc et argv.)
-- James Kanze GABI Software http://www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Jean-Philippe Provost <wibo@globetrotter.net> wrote in message
news:<Z8nIc.33932$eO.32301@edtnps89>...
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la
solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et
affiche la somme, la moyenne, le produit, le plus petit et le plus grand
de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
int main()
{
int nombre1, nombre2, nombre3, somme, moyenne, produit;
Un std::vector me semble plus indiqué pour les entrées.
Quant aux résultats, on ne s'en sert que pour les afficher
immédiatement. Pas besoin de les stocker, alors.
Et sauf des exceptions assez rares (la lecture d'un fichier en est un),
on ne déclare pas les variables sans les initialiser.
Ce qui ne va pas donner quelque chose de bien si l'utilisateur entre
abc. Il faut gerer les erreurs en cas d'entrée.
somme = nombre1 + nombre2 + nombre3;
cout << "La somme est " << somme << endl;
Un vecteur et accumulate me semble plus indiquer.
moyenne = (nombre1 + nombre2 + nombre3) / 3;
cout << "La moyenne est " << moyenne << endl;
Dans la mésure où tu as sauvegardé la somme, pourquoi pas s'en servir ?
produit = nombre1 * nombre2 * nombre3;
cout << "Le produit est " << produit << endl;
if ( nombre1 < nombre2 or nombre1 < nombre3 )
cout << "Le plus petit nombre est " << nombre1 << endl;
if ( nombre2 < nombre1 or nombre2 < nombre3 )
cout << "Le plus petit nombre est " << nombre2 << endl;
if ( nombre3 < nombre1 or nombre3 < nombre2 )
cout << "Le plus petit nombre est " << nombre3 << endl;
if ( nombre1 > nombre2 or nombre1 > nombre3 )
cout << "Le plus grand nombre est " << nombre1 << endl;
if ( nombre2 > nombre1 or nombre2 > nombre3 )
cout << "Le plus grand nombre est " << nombre2 << endl;
if ( nombre3 > nombre1 or nombre3 > nombre2 )
cout << "Le plus grand nombre est " << nombre3 << endl;
Beaucoup de complexité pour rien. Si tu mettais les nombres dans un
vector, puis utiliser sort, tu aurais tout de suite et le plus grand et
le plus petit.
return 0;
}
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part,
j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la
multiplication -, et la sémantique des opérateurs > et <. Je ne peux
voir que deux intérêts possibles de ce genre d'exercise : que tu
apprennes la gestion des erreurs en entrée, ou que tu apprennes
l'utilisation de certaines fonctions de la bibliothèque standard. Ta
réponse a passé de côté des deux. (Le fait qu'on démande des entrées du
clavier suggère en fait très fort que le but, c'est bien la gestion de
l'erreur. Typiquement, pour ce genre de problème, quand ce n'est pas le
but, on prend les entrées des paramètres de la ligne de commande, c-à-d
argc et argv.)
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Jean-Philippe Provost wrote in message news:<Z8nIc.33932$...
Dans mon livre, il me demande ceci à écrire, mais il ne me donne pas la solution donc je demande ici :
"Écrivez un programme qui reçoit trois entiers entrés au clavier et affiche la somme, la moyenne, le produit, le plus petit et le plus grand de ces nombres."
Bref, j'ai beau essayé, mais mon code, j'en reste bloqué là :( ..
int main() { int nombre1, nombre2, nombre3, somme, moyenne, produit;
Un std::vector me semble plus indiqué pour les entrées. Quant aux résultats, on ne s'en sert que pour les afficher immédiatement. Pas besoin de les stocker, alors.
Et sauf des exceptions assez rares (la lecture d'un fichier en est un), on ne déclare pas les variables sans les initialiser.
Ce qui ne va pas donner quelque chose de bien si l'utilisateur entre abc. Il faut gerer les erreurs en cas d'entrée.
somme = nombre1 + nombre2 + nombre3; cout << "La somme est " << somme << endl;
Un vecteur et accumulate me semble plus indiquer.
moyenne = (nombre1 + nombre2 + nombre3) / 3; cout << "La moyenne est " << moyenne << endl;
Dans la mésure où tu as sauvegardé la somme, pourquoi pas s'en servir ?
produit = nombre1 * nombre2 * nombre3; cout << "Le produit est " << produit << endl;
if ( nombre1 < nombre2 or nombre1 < nombre3 ) cout << "Le plus petit nombre est " << nombre1 << endl;
if ( nombre2 < nombre1 or nombre2 < nombre3 ) cout << "Le plus petit nombre est " << nombre2 << endl;
if ( nombre3 < nombre1 or nombre3 < nombre2 ) cout << "Le plus petit nombre est " << nombre3 << endl;
if ( nombre1 > nombre2 or nombre1 > nombre3 ) cout << "Le plus grand nombre est " << nombre1 << endl;
if ( nombre2 > nombre1 or nombre2 > nombre3 ) cout << "Le plus grand nombre est " << nombre2 << endl;
if ( nombre3 > nombre1 or nombre3 > nombre2 ) cout << "Le plus grand nombre est " << nombre3 << endl;
Beaucoup de complexité pour rien. Si tu mettais les nombres dans un vector, puis utiliser sort, tu aurais tout de suite et le plus grand et le plus petit.
return 0; }
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part, j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la multiplication -, et la sémantique des opérateurs > et <. Je ne peux voir que deux intérêts possibles de ce genre d'exercise : que tu apprennes la gestion des erreurs en entrée, ou que tu apprennes l'utilisation de certaines fonctions de la bibliothèque standard. Ta réponse a passé de côté des deux. (Le fait qu'on démande des entrées du clavier suggère en fait très fort que le but, c'est bien la gestion de l'erreur. Typiquement, pour ce genre de problème, quand ce n'est pas le but, on prend les entrées des paramètres de la ligne de commande, c-à-d argc et argv.)
-- James Kanze GABI Software http://www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Loïc Joly
wrote:
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part, j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la multiplication -, et la sémantique des opérateurs > et <. Je ne peux voir que deux intérêts possibles de ce genre d'exercise : que tu apprennes la gestion des erreurs en entrée, ou que tu apprennes l'utilisation de certaines fonctions de la bibliothèque standard.
J'en vois un troisième en fait : Avoir un hello world amélioré qui en plus utilise la notion de variable. Pour quelqu'un débutant la programmation, ça peut être une notion pas si triviale que ça.
-- Loïc
kanze@gabi-soft.fr wrote:
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part,
j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la
multiplication -, et la sémantique des opérateurs > et <. Je ne peux
voir que deux intérêts possibles de ce genre d'exercise : que tu
apprennes la gestion des erreurs en entrée, ou que tu apprennes
l'utilisation de certaines fonctions de la bibliothèque standard.
J'en vois un troisième en fait : Avoir un hello world amélioré qui en
plus utilise la notion de variable. Pour quelqu'un débutant la
programmation, ça peut être une notion pas si triviale que ça.
À la fin, évidemment, il faut savoir le but de l'exercies. Quelque part, j'ai une doute que ce soit de t'enseigner que l'addition s'écrit, la multiplication -, et la sémantique des opérateurs > et <. Je ne peux voir que deux intérêts possibles de ce genre d'exercise : que tu apprennes la gestion des erreurs en entrée, ou que tu apprennes l'utilisation de certaines fonctions de la bibliothèque standard.
J'en vois un troisième en fait : Avoir un hello world amélioré qui en plus utilise la notion de variable. Pour quelqu'un débutant la programmation, ça peut être une notion pas si triviale que ça.
-- Loïc
Loïc Joly
Franck Branjonneau wrote:
Loïc Joly écrivait:
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
Pas std::min_element() ?
Je considère que sort fait partie de ce qui est vraiment utile, alors que je vois plus min_element comme une curiosité. Pour ne pas noyer un débutant, je préfère ne lui montrer que la partie emmergée de la STL, plutôt que de le noyer en lui demandant de regarder ce qu'il y a en dessous. De la même façon, dans ce contexte et pour calculer la somme, j'éviterais accumulate, car si l'on veut faire la même chose avec des double, il va falloir expliquer la différence entre 0 et 0.0, et donc les règles d'évalutation des templates.
Soit (qui a l'avantage de marcher avec un nombre quelconque de données):
vector <int> v;
v.push_back(n1);
v.push_back(n2);
v.push_back(n3);
v.sort();
minVal = v[0];
Pas std::min_element() ?
Je considère que sort fait partie de ce qui est vraiment utile, alors
que je vois plus min_element comme une curiosité. Pour ne pas noyer un
débutant, je préfère ne lui montrer que la partie emmergée de la STL,
plutôt que de le noyer en lui demandant de regarder ce qu'il y a en
dessous. De la même façon, dans ce contexte et pour calculer la somme,
j'éviterais accumulate, car si l'on veut faire la même chose avec des
double, il va falloir expliquer la différence entre 0 et 0.0, et donc
les règles d'évalutation des templates.
Soit (qui a l'avantage de marcher avec un nombre quelconque de données): vector <int> v; v.push_back(n1); v.push_back(n2); v.push_back(n3); v.sort(); minVal = v[0];
Pas std::min_element() ?
Je considère que sort fait partie de ce qui est vraiment utile, alors que je vois plus min_element comme une curiosité. Pour ne pas noyer un débutant, je préfère ne lui montrer que la partie emmergée de la STL, plutôt que de le noyer en lui demandant de regarder ce qu'il y a en dessous. De la même façon, dans ce contexte et pour calculer la somme, j'éviterais accumulate, car si l'on veut faire la même chose avec des double, il va falloir expliquer la différence entre 0 et 0.0, et donc les règles d'évalutation des templates.
-- Loïc
Alexandre
bonjour,
if ( nombre1 < nombre2 or nombre1 < nombre3 )
en plus de toutes les (très pertinentes) remarques des autres posts, notes bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
bonjour,
if ( nombre1 < nombre2 or nombre1 < nombre3 )
en plus de toutes les (très pertinentes) remarques des autres posts, notes
bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
en plus de toutes les (très pertinentes) remarques des autres posts, notes bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
Serge Paccalin
Le lundi 12 juillet 2004 à 19:59:12, Alexandre a écrit dans fr.comp.lang.c++ :
if ( nombre1 < nombre2 or nombre1 < nombre3 )
en plus de toutes les (très pertinentes) remarques des autres posts, notes bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
Ne parle pas trop vite...
-- ___________ 2004-07-12 20:15:41 _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Le lundi 12 juillet 2004 à 19:59:12, Alexandre a écrit dans
fr.comp.lang.c++ :
if ( nombre1 < nombre2 or nombre1 < nombre3 )
en plus de toutes les (très pertinentes) remarques des autres posts, notes
bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
Ne parle pas trop vite...
--
___________ 2004-07-12 20:15:41
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Le lundi 12 juillet 2004 à 19:59:12, Alexandre a écrit dans fr.comp.lang.c++ :
if ( nombre1 < nombre2 or nombre1 < nombre3 )
en plus de toutes les (très pertinentes) remarques des autres posts, notes bien que le "OU" logique en C++ ne s'écrit pas "or" mais "||"
Ne parle pas trop vite...
-- ___________ 2004-07-12 20:15:41 _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763