Les tableaux
Résolu
Bonjour,
Je voudrais savoir pourquoi ce code ne marche pas s' il vous plait !!!
double multiplication(double tableau[], int tailleTableau)
{
int i;
double produit = 1;
return produit *= tableau[i];
}
int main()
{
int i;
double produit = 1;
double tableau[4] = {6,5,3,2};
for(i = 0; i < 4; i++)
{
produit *= tableau[i];
}
double resultat = multiplication(tableau, 4);
printf("Le produit est de %.2f\n", resultat);
return 0;
}
Je voudrais savoir pourquoi ce code ne marche pas s' il vous plait !!!
double multiplication(double tableau[], int tailleTableau)
{
int i;
double produit = 1;
return produit *= tableau[i];
}
int main()
{
int i;
double produit = 1;
double tableau[4] = {6,5,3,2};
for(i = 0; i < 4; i++)
{
produit *= tableau[i];
}
double resultat = multiplication(tableau, 4);
printf("Le produit est de %.2f\n", resultat);
return 0;
}
2 réponses
-
Bonjour,
Ce code effectue la multiplication des éléments du tableau qu'il met dans une variable nommée 'produit'.
Puis semble de faire la même chose en passant par une fonction, et là c'est la cata, cela fait n'importe quoi.
Pour finir le résultat de la méthode 'cata' est affiché, la fonction aurait dû être :double multiplication( double const tableau[] , int tailleTableau ) { double produit = 1; for ( int i = 0 ; i < tailleTableau ; i++ ) produit *= tableau[i]; return produit; }-
-
-
double multiplication(double tableau[], int tailleTableau) { int i = 0; double produit = 1; for(i = 0; i < 4; i++) { produit *= tableau[i]; } return produit; } int main() { int i = 0; double produit = 1; double tableau[4] = {6,5,3,2}; double resultat = multiplication(tableau, 4); printf("Le produit est de %.2f\n", resultat); return 0; } -
Contributeur@jeandchanelIl n'y a pas que ça.
Si tu remplaces uniquement la ligne du return par return produit; ta fonction renverra 1 systématiquement. On est donc très loin du produit.
D'où la boucle for proposée par Dalfab -
@fiddyOui je l'avoue, ma boucle se trouvait plutôt dans la fonction " main " et non dans la fonction multiplication() !!! Merci pour tout.
-
-
ContributeurBonjour,
return produit *= tableau[i];
i n'est pas initialisé.
Soit tu mets i=0; par exemple. Soit tu fais une boucle for. Mais il doit être initialisé à un moment ou à un autre.
Pour les prochaines fois, merci d'utiliser la balise <code c>, sinon c'est illisible.
Exemple : <code c>/*ici tu mets ton code*/</code>.
Cdlt,
Google is your friend