j'essaies d’apprendre à programmer en Autodidacte à l'aide de OpenClasseRoom et Microsoft Academy et la je bloque :/
la méthode :
static int CalculMoyenne(liste<double> listeUse)
{
int somme = 0;
//List<double> listeUse = liste(); (en commentaire)
int taille = listeUse.Count;
for (double i = listeUse[0]; i < taille; i++)
{
somme += i;
}
double moy = somme / taille;
return moy;
}
le Main :
static void Main(string[] args)
{
List<double> liste = new List<double> { 1.0, 5.5, 9.9, 2.8, 9.6 };
int taille = liste.Count;
Console.WriteLine(CalculMoyenne(liste));
Console.ReadKey();
}
Salut,
en général il vaut mieux préciser quel est le problème. Par exemple la valeur afficher n'est pas la bonne, mais ici je pense avoir trouver.
Tu as un tableau de double, tu veux donc tous les parcourir et les additionner.
Tu as taille élément dans ton tableau (de 0 à taille). (ici taille = 5).
Dans le for, tu dois dire entre les ';' respectivement, où tu commences ton index (donc 0), jusqu'où il va, et de combien tu l'incrémentes à chaque passage.
Or, ici, tu le commence à listeUse[0], c'est à dire au premier élément de la liste, donc 1.0.
A la place, tu dois avoir : for (double i = 0; i < taille; i++)
static double CalculMoyenne(List<double> listeUse)
{
double somme = 0;
int taille = listeUse.Count;
for (int i = 0; i < taille; i++)
{
somme += listeUse[i];
}
double moy = somme / taille;
return moy;
}
c'était List et NON liste ...
et
somme += listeUse[i]; et NON somme += i;
et
ce que tu as dit ^^ :
for (double i = 0; i < taille; i++) est Faux :c
c'est : for (int i = 0; i < taille; i++)
Mais merci quand même :D
tu pouvais aussi faire ça si tu ne voulais pas te prendre la tête avec les boucles for :
foreach(double nombre in liste)
{
somme += nombre;
}
dans ton cas niveau performance ça ne changera strictement rien.
Le 21 juin 2017 à 20:20:55 seb16120 a écrit :
c'était List et NON liste ...
et
somme += listeUse[i]; et NON somme += i;
Comme dit, précise quel est ton erreur, car j'ai pas testé ton code, j'ai juste lu et j'ai vu ce problème, j'ai pas regardé s'il y avait autre chose.
for (double i = 0; i < taille; i++) est Faux :c
c'est : for (int i = 0; i < taille; i++)
La seule différence c'est le int à la place du double ? Si c'est ça, alors je n'ai pas faux, c'est un autre type pour gérer des chiffres, les deux sont totalement possible...
Tu peux utiliser des short, int, float, double etc...
Le 21 juin 2017 à 21:03:00 darkepsylon a écrit :
tu pouvais aussi faire ça si tu ne voulais pas te prendre la tête avec les boucles for :foreach(double nombre in liste) { somme += nombre; }
dans ton cas niveau performance ça ne changera strictement rien.
Merci de l'astuce ^^
et comment vous faites pour que le code soit en blanc clair ? (constrasté par rapport au reste du texte sur JV,com ? )
Je reviendrais poser mes questions sur ce topic
ou
une question = un topic / un topic = une question ?
y'as des balises code , entre le bouton citations et celui de spoil quand tu créer ton message.
Et il vaut mieux avoir une question/sujet par topic je pense, quand quelqu'un aura le même problème que toi ça sera plus simple pour lui avoir la réponse et surtout ça permet de mieux s'y retrouver ensuite.