problème exercice tableau - C - Programmation
Marsh Posté le 13-11-2011 à 16:29:42
Code :
|
L'adresse d'un tableau c'ets juste son nom pas son nom+sa taille
Marsh Posté le 13-11-2011 à 17:09:30
euhhhh, tu veux dire qu'il faut que j'enlève la taille dans le scanf??
Marsh Posté le 13-11-2011 à 17:54:37
Non, je pense plutôt que c'est l'appel à la fonction "sommetableau" qui pose problème.
Marsh Posté le 13-11-2011 à 17:58:39
ah ok ouais ça y est j'ai vu l'erreur mais je ne la comprends pas? et dans ma boucle il me demande à chaque fois tab[i] et non pas tab[0], tab[1],...une idée?
Marsh Posté le 13-11-2011 à 17:59:40
non joel.F a bien raison, en faisant comme il dit la somme s'effectue bien, mais je ne comprends pas mon erreur et ma boucle for n'a pas d'effet sur le printf de tab[i]
Marsh Posté le 13-11-2011 à 18:05:19
Ce qu'on appelle "tableau", en fait, c'est simplement le pointeur sur le premier élément. Donc, ici, le 1er paramètre à passer à ta fonction, c'est juste "tab". Et la taille en 2ème paramètre pour que la fonction sache jusqu'où elle peut parcourir le tableau en question.
("tab[N]", ce n'est pas un tableau)
Marsh Posté le 13-11-2011 à 18:09:13
ahhh ok!!! merci!! et par contre, pourquoi ma boucle sur le 1er printf ne marche pas?
Marsh Posté le 13-11-2011 à 18:20:48
Ca :
Code :
|
?
"tab[i]" est dans la chaîne de caractère, il n'y a aucune évaluation. Essaie quelque chose du genre
Code :
|
Marsh Posté le 13-11-2011 à 15:22:25
Bonjour,
Je débute dans la programmation en C et j'ai voulu écrire un programme qui fait la somme des valeurs d'un tableau, mais ça ne fonctionne pas, pouvez vous m'aider s'il vous plait?
Voici ce que j'ai tapé:
# include <stdio.h>
#define N 4
int sommetableau(int tableau[], int taille);
int main()
{
int tab[N], i;
for(i=0; i<N; i++)
{
printf("entrez la valeur de tab[i]\n" );
scanf("%d", &tab[i]);
}
sommetableau(tab[N], N);
printf("le resultat est:%d\n", sommetableau(tab[N], N));
return 0;
}
int sommetableau(int tableau[], int taille)
{
int j, resultat=0;
for(j=0; j<taille; j++)
{
resultat+=tableau[j];
}
return resultat;
}