Utilisation d'une variable locale non assignée

Résolu/Fermé
Thibaudjr Messages postés 185 Date d'inscription samedi 4 septembre 2010 Statut Membre Dernière intervention 10 septembre 2015 - 24 févr. 2014 à 13:05
Blockiestbeatle Messages postés 84 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 20 mars 2014 - 24 févr. 2014 à 13:35
Bonjour,

Actuellement en formation, nous avons à réaliser un programme en C# avec Visual Studio 2013.
Notre objectif personnel est de réaliser un programme permettant de générer une certaine quantité de nobmres aléatoires compris entre un minimum et un maximum pour ensuite afficher plusieurs résultats statistiques.

Je cherche donc à compter le nombres d'éléments identiques de la série de nombres aléatoires grâce à un compteur :

int j; //j = élément à tester (j étant un des nombres aléatoires générés)
int compteur;
for(j = converted_min+1; j < converted_max; j++)
{
for(int i = 0; i<=nbrand.Value; i++)
{
if(tableau_nombres[i]==" " + j + " ")
{
compteur++;
}
}
}
//affichage de la variable 'compteur'.

1 erreur est alors générée :
" Utilisation d'une variable locale non assignée 'compteur' "
au niveau de l'incrémentation du compteur dans le if.
Impossible d'effectuer la déclaration dans le if, car il m'est impossible de réutiliser la variable 'compteur' à l'extérieur du if.

Pour résumer :
* Si la déclaration est faite en dehors du if, l'erreur "Utilisation d'une variable locale non assignée 'compteur'" apparaît.
* Si la déclaration est faite dans le if, impossible de réutiliser la variable à l'extérieur du if.

Comment contourner cette erreur ?
Existe-t-il une autre solution pour compter le nombre d'éléments identiques dans la série.

1 réponse

Blockiestbeatle Messages postés 84 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 20 mars 2014 5
24 févr. 2014 à 13:16
Ne devrais-tu pas simplement donner une valeur à 'compteur' avant de l'incrémenter une première fois? Car s'il pointe vers 'null' quand tu la déclare, null++ ne dois pas vraiment faire rire ton compilateur...

D'autant plus que si je comprends bien tu n'utilise le compteur qu'une fois? Donc fais le partir de 0. Et puis si tu re-rentre une autre valeur à tester sans quitter ton application fais une boucle et au début de celle-ci remet ton compteur à 0 avant de prendre en compte la valeur à tester.

Je raconte peut-être une bêtise mais l'assignation ça me semble être cela...

A tester!


Gilles.
1
Thibaudjr Messages postés 185 Date d'inscription samedi 4 septembre 2010 Statut Membre Dernière intervention 10 septembre 2015 28
24 févr. 2014 à 13:25
Ah oui effectivement, je me mords les doigts ^^
Merci braucoup pour votre réponse rapide !
1
Blockiestbeatle Messages postés 84 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 20 mars 2014 5
24 févr. 2014 à 13:35
De rien ;)

J'ai pas mal développé en C# pour des petits jeux etc, je suis déjà tombé sur ce genre d'erreur pas souvent explicite ni placée au bon endroit!

Bonne continuation
0