Petit logiciel qui ne fonctionne pas toujours - C++ - Programmation
Marsh Posté le 25-05-2006 à 11:33:40
utilise std::vector<float>
et utilise ton compilateur correctement : t'as des dizaines de variables pas initialisées ...
Marsh Posté le 25-05-2006 à 11:40:19
Dsl mais deja je ne connais pas std::vector<float> et de plus je ne voi pas de variable non innitialisées....
Marsh Posté le 25-05-2006 à 11:49:33
Il ne m'en donne pas.. sauf le commentaire mis en rouge et souligné...
Aytrement je me suis renseigné sur vector et vais essayer.
Marsh Posté le 25-05-2006 à 12:11:05
Voila ce que j'ai fais.. pas super...
Code :
|
J'essaye, j'essaye mais je n'arrive jamai a quelque chose qui fonctionne....
Marsh Posté le 25-05-2006 à 12:29:56
Je sais pas si c'est un coup de chance ou si tu l'as fait exprès, mais déjà au départ tu initialises tes 2 premiers tableaux avec une taille égale à 0 ( merci les variables globales... ), or, pour ton 3ème tableau tu fais appel à somme_effect().
code de somme_Effect
Code :
|
x n'est pas initialisé et a donc un contenu indéterminé.
nbvaleurs est initialisé à 0 donc tu ne passes pas dans ta boucle for et tu renvois directement x avec son contenu indéterminé, alors après le tableau bonne chance pour qu'il ait la taille que tu veux...
Marsh Posté le 25-05-2006 à 18:30:56
Ouai effectivement vu de ce point.. Je n'y avait pas pensé
Code :
|
Voila le code avec quelque modif, il a l'air de marcher, qu'en pensez vous?
Marsh Posté le 25-05-2006 à 19:20:40
non ca marche pas
on t'a deja dit que tes variables 'x' ne sont pas initialisées, pourquoi tu ne le fais pas ?
tu peux aussi largement simplifier en utilisant std::accumulate par exemple (et supprimer ces variables globales inutiles)
Marsh Posté le 25-05-2006 à 19:42:10
Oui je peux simplifier peut-être maiis je prefere faire un code que je comprend plutot ke de recpopier betement des bouts de code un peu partout....
Autrement je vien seulement de comprendre ce que vous entendiez par initialisé, pour moi c'est par ex (int x) alors que pour vous c'est appliqué une valeur a x, non?
PS: ca fait a peu pres un mois que je me suis mis au c++ alors si vous pouviez parler un peu plus "francais" ca arrangerais les choses...
Code :
|
C'est mieux?
Marsh Posté le 25-05-2006 à 20:25:55
mêmes réflexions que hier ... des tonnes de variables pas initialisées. Sors-toi les mains des poches et mets toi au boulot.
et dégage toutes ces variables globales;
Marsh Posté le 25-05-2006 à 22:32:08
JE COMPREND PAS CE QUE TU DIS.
Sors-toi les mains des poches et exprime toi explicitement!!!
Marsh Posté le 25-05-2006 à 22:50:01
ouvre un dictionnaire et compare : initialiser et declarer.
Faudra aussi voir à prendre son vallium
Marsh Posté le 26-05-2006 à 02:08:06
elephant13 a écrit : JE COMPREND PAS CE QUE TU DIS. |
"Initialiser une variable" signifie grosso-modo "lui donner dès le départ une valeur connue avant de s'en servir"
J'ai pas regardé ton code mais apparemment tu as plein de variables dont les valeurs ne sont pas connues au départ. Si tu les remplis avant de les traiter ça peut passer mais si tu commences à les traiter avant de les remplir, ça va merder.
Marsh Posté le 26-05-2006 à 02:19:55
elephant13 a écrit : JE COMPREND PAS CE QUE TU DIS. |
Figure 1 : des méfaits de la caféine en intraveineuse
Marsh Posté le 26-05-2006 à 09:40:54
Taz a écrit : et dégage toutes ces variables globales; |
je suis foutu, je commence à mettre des ; à la fin des phrases;
Marsh Posté le 26-05-2006 à 09:42:06
Taz a écrit : je suis foutu, je commence à mettre des ; à la fin des phrases; |
Marsh Posté le 26-05-2006 à 16:19:30
Merci Sve@r,
Mai si mon premier traitement de la variable c'est lui donner une valeur grace a "cin" je n'est pas besoin de l'initialiser avant, non? Ou en ai l'interet?
Marsh Posté le 26-05-2006 à 20:18:28
elephant13 a écrit : Merci Sve@r, |
Là, il y a généralement 2 attitudes
- je n'initialise que les variables qu'il faut, juste avant de m'en servir (faut être sûr de soi)
- j'initialise toutes mes variables dès le début comme ça je suis certain de ne pas en oublier
Personnellement je préfère la première, mais d'autres préfèrent la seconde. La seconde est généralement mieux quand on est en groupe de programmeurs car quand les programmeurs se plongent dans le code de leurs copains, ils n'ont pas envie de se faire chier à vérifier, en plus de leur boulot, si toutes les variables de leurs copains ont bien une valeur avant qu'elles soient utilisées...
Marsh Posté le 25-05-2006 à 11:06:59
Bonjour,
Je debute en C++ et pour m'entrainer j'ai essayer de faire un petit logiciel de statistique.... Mais la j'ai un probleme et je cale ...
En fait mon pogiciel ne fonctionne que des fois lorsque je lui demande la médiane et cela dépend des valeurs que je rentre au debut (mais lequels précisement je sais pas), les autre fois il se ferme directement sans rien affiché comme s'il efféctuer une fonction "quitter" mais de temp en temp il plante aussi, je suis obliger d'aller dans le gestionnaire des taches pour le fermer...
De plus Il y a quelque chose que je ne comprend pas dans le code (je l'ai mi en commentaire rouge et souligné) et je pense que ca peut venir de là mais...
Voici le code (il est peut être pas super mais bon je debute):
PS: Je sais pas si le forum est fait pour vérifier des codes entiers mais bon, je ne sais pas a qui m'adresser..
Aidez-moi s'il vous plait.
Message édité par elephant13 le 25-05-2006 à 11:18:28