OVH Cloud OVH Cloud

Exercice de SOI

18 réponses
Avatar
Timour
Bonjour,
vu que j'en ai marre de lire un bouquin sur le C++, sans pratiquer
vraiment la programmation, je vous demande de me dire ce que je dois
connaitre pour faire un exercice de la SOI 2003, au moins comme ca ce
sera plus amusant.
Exercice ( Papillons ):
http://soi.ch/php/ml.php?d=contest/2003/round1/tasks/Butterflies/index.html&l=f
Merci beaucoup.

10 réponses

1 2
Avatar
Samuel Krempp
le Friday 30 January 2004 17:40, écrivit :

Bonjour,
vu que j'en ai marre de lire un bouquin sur le C++, sans pratiquer
vraiment la programmation, je vous demande de me dire ce que je dois
connaitre pour faire un exercice de la SOI 2003, au moins comme ca ce
sera plus amusant.
Exercice ( Papillons ):

http://soi.ch/php/ml.php?d=contest/2003/round1/tasks/Butterflies/index.html&l=f

Merci beaucoup.


ben faut déja pouvoir lire le fichier texte de données. donc savoir
construire un ifstream pour y acceder, puis en extraire les données (là
l'opérateur >> des streams fait l'affaire).
A part ça la classe std::vector<bool> suffit, il n'y a qu'à savoir faire les
bonnes boucles..

Sinon quel bouquin utilise-tu ? Tu n'as pas tort de vouloir pratiquer dès
le début, et d'autres livres seraient peut être plus adaptés.
le Accelerated C++ de koenig commence dès le début par l'apprentissage par
la pratique.
Pis le récent "You can do it!" de glassborow (qui vise à apprendre la
programmation à des gens qui ne pensent pas avoir de prédisposition
particuliere) peut aussi t'interesser.

--
Sam

Avatar
Timour
Samuel Krempp wrote:
le Friday 30 January 2004 17:40, écrivit :


Bonjour,
vu que j'en ai marre de lire un bouquin sur le C++, sans pratiquer
vraiment la programmation, je vous demande de me dire ce que je dois
connaitre pour faire un exercice de la SOI 2003, au moins comme ca ce
sera plus amusant.
Exercice ( Papillons ):



http://soi.ch/php/ml.php?d=contest/2003/round1/tasks/Butterflies/index.html&l=f

Merci beaucoup.



ben faut déja pouvoir lire le fichier texte de données. donc savoir
construire un ifstream pour y acceder, puis en extraire les données (là
l'opérateur >> des streams fait l'affaire).
A part ça la classe std::vector<bool> suffit, il n'y a qu'à savoir faire les
bonnes boucles..

Sinon quel bouquin utilise-tu ? Tu n'as pas tort de vouloir pratiquer dès
le début, et d'autres livres seraient peut être plus adaptés.
le Accelerated C++ de koenig commence dès le début par l'apprentissage par
la pratique.
Pis le récent "You can do it!" de glassborow (qui vise à apprendre la
programmation à des gens qui ne pensent pas avoir de prédisposition
particuliere) peut aussi t'interesser.

Ben j'utilise " Le langage C++ " de Jesse Liberty (editions

CampusPress). Et je trouve qu'il est pas mal, car y a des exemples pour
chaque chapitre etc ... Et sinon le " Allerated C++ " existe-t-il en
francais?
Merci
++++++
Timour
++++++


Avatar
Michel Michaud
Dans news:401c04f3$0$257$,
Ben j'utilise " Le langage C++ " de Jesse Liberty (editions
CampusPress). Et je trouve qu'il est pas mal, car y a des exemples


Le problème pour un débutant est de savoir quand un livre est
vraiment bon. Après tout, ce n'est pas seulement la qualité des
explications qui comptent, mais bien ce que l'auteur choisit
d'expliquer et dans quel ordre. La cote « pas mal » que tu donnes
n'est pas très rassurante :-)

Je ne sais pas quel est le titre de ce livre en anglais, et je
ne sais pas ce que vaut la traduction, mais les critiques des
livres de Liberty sur C++ chez www.accu.org donnent l'impression
que ton livre est peut-être moins bon que tu ne le penses...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Samuel Krempp
le Saturday 31 January 2004 21:42, écrivit :
Ben j'utilise " Le langage C++ " de Jesse Liberty (editions
CampusPress). Et je trouve qu'il est pas mal, car y a des exemples pour
chaque chapitre etc ...


je ne connais pas ce livre, et par défaut je serais comme Michel, plutôt
méfiant.

Et sinon le " Allerated C++ " existe-t-il en
francais?


Je crois que non, malheureusement.
D'un autre coté pour lire un bouquin de C++ en anglais il n'est pas
nécessaire de pouvoir lire du Shakespeare..

--
Sam

Avatar
kanze
Samuel Krempp wrote in message
news:<401baed9$0$19001$...

le Friday 30 January 2004 17:40, écrivit :

vu que j'en ai marre de lire un bouquin sur le C++, sans pratiquer
vraiment la programmation, je vous demande de me dire ce que je dois
connaitre pour faire un exercice de la SOI 2003, au moins comme ca
ce sera plus amusant.
Exercice ( Papillons ):


http://soi.ch/php/ml.php?d=contest/2003/round1/tasks/Butterflies/index.html&l=f

ben faut déja pouvoir lire le fichier texte de données. donc savoir
construire un ifstream pour y acceder, puis en extraire les données
(là l'opérateur >> des streams fait l'affaire).


Tiens. Vu le problème, je me serais misé plutôt sur getline.

A part ça la classe std::vector<bool> suffit,


Peut-être. Mais j'avoue que vue tout ce qu'on en dit, je l'évite.
Peut-être :

enum Couleur { fonce, clair } ;
std::vector< Couleur > image ;

Franchement, je me démande si ça vaut la peine de convertir des
caractères. Il s'agit d'un image à deux dimensions, et :
std::vector< std::string > image ;
me semble plus facile que des vector à deux dimensions.

Mais c'est une question d'habitude, j'imagine.

il n'y a qu'à savoir faire les bonnes boucles..


NYAK. Tu t'entraines pour devenir un chef:-) ?

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
Samuel Krempp
le Tuesday 03 February 2004 14:10, écrivit :
Tiens. Vu le problème, je me serais misé plutôt sur getline.


ah oui,

A part ça la classe std::vector<bool> suffit,


Peut-être. Mais j'avoue que vue tout ce qu'on en dit, je l'évite.


oui personnellement je l'utilise que qd c'est important de stocker 8 bits en
un octet. là j'ai hésité à à dire vector<char>, ça aurait peut être paru
bizarre..

Peut-être :

enum Couleur { fonce, clair } ;
std::vector< Couleur > image ;

Franchement, je me démande si ça vaut la peine de convertir des
caractères. Il s'agit d'un image à deux dimensions, et :
std::vector< std::string > image ;
me semble plus facile que des vector à deux dimensions.

Mais c'est une question d'habitude, j'imagine.


en fait je trouve aussi que ça ira surement mieux en gardant des
vector<string>


il n'y a qu'à savoir faire les bonnes boucles..


NYAK. Tu t'entraines pour devenir un chef:-) ?


:)
(c'est un acronyme NYAK ?)

en fait je voulais pas minimiser la difficulté du travail à fournir mais
juste apporter une précision sur ce qu'il faudrait connaitre pour faire
l'exercice comme l'OP le demandait sans trop le guider.

en résumé il faut :
- savoir utiliser un stream pour lire le fichier texte
- savoir utiliser std::vector
- savoir faire des boucles

j'aurai dû m'en tenir à une liste aussi concise :)
--
Sam


Avatar
kanze
Samuel Krempp wrote in message
news:<40201e86$0$11324$...
[...]
il n'y a qu'à savoir faire les bonnes boucles..


NYAK. Tu t'entraines pour devenir un chef:-) ?


:)
(c'est un acronyme NYAK ?)


C'est pas un acronyme. C'est une façon plaisantante d'écrire « (il) n'y
a que » -- non standardisé, évidemment ; j'en ai vu d'autres variantes.

Et c'est une parole de chef :

chef :
Il nous faut X, quand est-ce que tu pourrais le faire ?

développeur :
À vue d'oeil, je crois qu'il faudrait deux semaines.

chef :
Quoi ? IL N'Y A QUE ... Je te donne deux jours.

C'est une façon à minimiser les problèmes en les comprimant dans une
simple phrase.

En informatique, on le rétrouve aussi parfois chez les développeurs : on
a prèsque fini, il n'y a plus que quelques petits détails à implémenter
(comme l'IHM, la persistence, l'integrité transactionnelle et
l'initialisation).

en fait je voulais pas minimiser la difficulté du travail à fournir
mais juste apporter une précision sur ce qu'il faudrait connaitre pour
faire l'exercice comme l'OP le demandait sans trop le guider.


Je ne doute pas que toi, tu comprends ce qu'il y a derrière. Mais
je trouvais l'expression « il n'y a que .. » trop fort:-).
Malheureusement, la plaisanterie du « parole de chef » touche trop
souvent à la réalité.

en résumé il faut :
- savoir utiliser un stream pour lire le fichier texte
- savoir utiliser std::vector
- savoir faire des boucles

j'aurai dû m'en tenir à une liste aussi concise :)


Je n'ai pas répondu pour critiquer ce que tu as dit. Ce n'est pas parce
que ça me rappelle une veuille plaisanterie que c'est faux.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16



Avatar
kanze
Samuel Krempp wrote in message
news:<40201e86$0$11324$...
[...]
il n'y a qu'à savoir faire les bonnes boucles..


NYAK. Tu t'entraines pour devenir un chef:-) ?


:)
(c'est un acronyme NYAK ?)


C'est pas un acronyme. C'est une façon plaisantante d'écrire « (il) n'y
a que » -- non standardisé, évidemment ; j'en ai vu d'autres variantes.

Et c'est une parole de chef :

chef :
Il nous faut X, quand est-ce que tu pourrais le faire ?

développeur :
À vue d'oeil, je crois qu'il faudrait deux semaines.

chef :
Quoi ? IL N'Y A QUE ... Je te donne deux jours.

C'est une façon à minimiser les problèmes en les comprimant dans une
simple phrase.

En informatique, on le rétrouve aussi parfois chez les développeurs : on
a prèsque fini, il n'y a plus que quelques petits détails à implémenter
(comme l'IHM, la persistence, l'integrité transactionnelle et
l'initialisation).

en fait je voulais pas minimiser la difficulté du travail à fournir
mais juste apporter une précision sur ce qu'il faudrait connaitre pour
faire l'exercice comme l'OP le demandait sans trop le guider.


Je ne doute pas que toi, tu comprends ce qu'il y a derrière. Mais
je trouvais l'expression « il n'y a que .. » trop fort:-).
Malheureusement, la plaisanterie du « parole de chef » touche trop
souvent à la réalité.

en résumé il faut :
- savoir utiliser un stream pour lire le fichier texte
- savoir utiliser std::vector
- savoir faire des boucles

j'aurai dû m'en tenir à une liste aussi concise :)


Je n'ai pas répondu pour critiquer ce que tu as dit. Ce n'est pas parce
que ça me rappelle une veuille plaisanterie que c'est faux.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16



Avatar
Fabien LE LEZ
On Tue, 03 Feb 2004 13:04:59 +0100, Samuel Krempp
wrote:

D'un autre coté pour lire un bouquin de C++ en anglais il n'est pas
nécessaire de pouvoir lire du Shakespeare..


D'ailleurs, c'est dingue le nombre de bouquins (romans et livres
techniques) que j'arrive à lire sans problème en anglais, tout en
ayant énormément de mal à lire Shakespeare... ;-)

--
;-)

Avatar
Fabien LE LEZ
On 4 Feb 2004 00:11:46 -0800, wrote:

(c'est un acronyme NYAK ?)


C'est pas un acronyme. C'est une façon plaisantante d'écrire « (il) n'y
a que » -- non standardisé, évidemment ; j'en ai vu d'autres variantes.


Généralement, on dit "Y'a qu'à"...

En informatique, on le rétrouve aussi parfois chez les développeurs : on
a prèsque fini, il n'y a plus que quelques petits détails à implémenter
(comme l'IHM, la persistence, l'integrité transactionnelle et
l'initialisation).


J'ai de gros doutes sur le "parfois"[*] ;-)

[*] Ne serait-ce qu'en me remémorant mes conversations avec mon patron
;-)

--
;-)


1 2