Produit des éléments d'un tableau
Fermé
programmation
-
Modifié par programmation le 5/03/2016 à 11:00
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 mars 2016 à 14:32
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 mars 2016 à 14:32
A voir également:
- Produit des éléments d'un tableau
- Tableau croisé dynamique - Guide
- Clé de produit windows 10 gratuit - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Trier un tableau excel - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 mars 2016 à 11:16
6 mars 2016 à 11:16
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>
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
6 mars 2016 à 14:15
6 mars 2016 à 14:15
Bonjour,
J'ajoute qu'il y a d'autres erreurs, en particulier la variable 'n' dans le main() est aléatoire et n'est pas la même que celle qui est initialisée dans la fonction tab(), car 'n' aurait due être passée par pointeur.
J'ajoute qu'il y a d'autres erreurs, en particulier la variable 'n' dans le main() est aléatoire et n'est pas la même que celle qui est initialisée dans la fonction tab(), car 'n' aurait due être passée par pointeur.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 mars 2016 à 14:32
6 mars 2016 à 14:32
Pas besoin d'initialiser n si on passe par un pointeur :). C'est la fonction appelée qui s'en occupera.
--
--