Les tableaux
Résolu/Fermé
jeandchanel
Messages postés
135
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
31 mai 2017
-
13 juin 2016 à 09:08
jeandchanel Messages postés 135 Date d'inscription vendredi 10 juin 2016 Statut Membre Dernière intervention 31 mai 2017 - 13 juin 2016 à 17:39
jeandchanel Messages postés 135 Date d'inscription vendredi 10 juin 2016 Statut Membre Dernière intervention 31 mai 2017 - 13 juin 2016 à 17:39
A voir également:
- Les tableaux
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- À l'aide des tableaux ci-dessous, trouvez le mot dont le code ascii est le suivant : 61 64 6d 69 73 73 69 6f 6e - Forum Programmation
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum Logiciels
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
Modifié par fiddy le 13/06/2016 à 09:48
Modifié par fiddy le 13/06/2016 à 09:48
Bonjour,
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
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
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
13 juin 2016 à 10:50
13 juin 2016 à 10:50
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 :
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; }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
13 juin 2016 à 11:26
13 juin 2016 à 11:26
Dommage de mettre un int i; dans la boucle for.
C'est autorisé en C99 effectivement. Mais, on pert en portabilité pour 1 ligne d'économisée.
Très bien pour le double const tableau[]. Le const pouvait aussi s'appliquer au tailleTableau :-).
C'est autorisé en C99 effectivement. Mais, on pert en portabilité pour 1 ligne d'économisée.
Très bien pour le double const tableau[]. Le const pouvait aussi s'appliquer au tailleTableau :-).
jeandchanel
Messages postés
135
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
31 mai 2017
Modifié par jeandchanel le 13/06/2016 à 16:53
Modifié par jeandchanel le 13/06/2016 à 16:53
Bonsoir, monsieur Dalfab.
je vous remercie beaucoup pour cette correction. Mon erreur se trouvait au niveau du "return" :
je vous remercie beaucoup pour cette correction. Mon erreur se trouvait au niveau du "return" :
return produit;encore une fois merci.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
>
jeandchanel
Messages postés
135
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
31 mai 2017
13 juin 2016 à 16:14
13 juin 2016 à 16:14
Il 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
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
jeandchanel
Messages postés
135
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
31 mai 2017
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
13 juin 2016 à 17:39
13 juin 2016 à 17:39
Oui je l'avoue, ma boucle se trouvait plutôt dans la fonction " main " et non dans la fonction multiplication() !!! Merci pour tout.
jeandchanel
Messages postés
135
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
31 mai 2017
Modifié par jeandchanel le 13/06/2016 à 16:16
Modifié par jeandchanel le 13/06/2016 à 16:16
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; }
13 juin 2016 à 16:04
je vous remercie pour votre remarque pertinente.