Produit des éléments d'un tableau
programmation
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
ce programme ne me donne pas le produit des éléments du tableau il affiche toujiurs M=1 , je ne comprends pas ou est le problème exactement ,pouvez vous m'aider ,merci à tous
#include <stdlib.h>
# include <math.h>
void tab (int *tab2, int n)
{
int i;
printf("entrer le nombre des éléments \n ",n);
scanf("%d",&n);
for (i = 1; i <= n; i++)
{printf (" entrer l’élément \n ", tab2[i]);
scanf ("%d", &tab2[i]);
}
}
int main()
{
int n,b[4],M;
tab(b,n);
M=1;
for(int i=1;i<=n;i++)
{
M=M*b[i];
}
printf("M=%d ",M);
ce programme ne me donne pas le produit des éléments du tableau il affiche toujiurs M=1 , je ne comprends pas ou est le problème exactement ,pouvez vous m'aider ,merci à tous
#include <stdlib.h>
# include <math.h>
void tab (int *tab2, int n)
{
int i;
printf("entrer le nombre des éléments \n ",n);
scanf("%d",&n);
for (i = 1; i <= n; i++)
{printf (" entrer l’élément \n ", tab2[i]);
scanf ("%d", &tab2[i]);
}
}
int main()
{
int n,b[4],M;
tab(b,n);
M=1;
for(int i=1;i<=n;i++)
{
M=M*b[i];
}
printf("M=%d ",M);
A voir également:
- Produit des éléments d'un tableau
- Clé de produit windows 10 gratuit - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
2 réponses
Bonjour,
Beaucoup d'erreurs...
tab(b,n);
Dans tab() : scanf("%d",&n);
Pour modifier la valeur de n (déclaré dans main()), il faut passer par un pointeur. Donc plutôt : int *n (au lieu de int n).
Le prototype de tab() donnerait : void tab(int *tab2, int *n)
Le scanf() deviendrait : scanf("%d",n); (plus besoin d'esperluette).
for (i = 1; i <= n; i++)
Les tableaux commencent à l'indice 0. Donc : for(i=0; i<n; i++)
{printf (" entrer l’élément \n ", tab2[i]);
Que souhaites-tu faire ? Si tu veux afficher la valeur de i :
printf("entrez l'élément %d\n", i);
De même pour le printf() du main().
Dans ton main(), il manque l'accolade finale. Et il manque le return 0; final aussi.
Je te conseille vraiment de reprendre un tuto (par exemple celui d'openclassroom) de zéro.
Note : la prochaine fois, merci d'utiliser la balise <code c> pour poster ton code.
Exemple :
<code c>ici tu mets ton code</code>
Beaucoup d'erreurs...
tab(b,n);
Dans tab() : scanf("%d",&n);
Pour modifier la valeur de n (déclaré dans main()), il faut passer par un pointeur. Donc plutôt : int *n (au lieu de int n).
Le prototype de tab() donnerait : void tab(int *tab2, int *n)
Le scanf() deviendrait : scanf("%d",n); (plus besoin d'esperluette).
for (i = 1; i <= n; i++)
Les tableaux commencent à l'indice 0. Donc : for(i=0; i<n; i++)
{printf (" entrer l’élément \n ", tab2[i]);
Que souhaites-tu faire ? Si tu veux afficher la valeur de i :
printf("entrez l'élément %d\n", i);
De même pour le printf() du main().
Dans ton main(), il manque l'accolade finale. Et il manque le return 0; final aussi.
Je te conseille vraiment de reprendre un tuto (par exemple celui d'openclassroom) de zéro.
Note : la prochaine fois, merci d'utiliser la balise <code c> pour poster ton code.
Exemple :
<code c>ici tu mets ton code</code>