Utilisation d'une variable locale non assignée

Résolu
Thibaudjr Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   -  
Blockiestbeatle Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   5
 
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   Statut Membre Dernière intervention   28
 
Ah oui effectivement, je me mords les doigts ^^
Merci braucoup pour votre réponse rapide !
1
Blockiestbeatle Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   5
 
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