Téléchargement
illégal
Posez votre question Signaler

Somme d'elements d'un tableau en C [Résolu]

flight7218 15Messages postés 13 mai 2007Date d'inscription 12 septembre 2011Dernière intervention - Dernière réponse le 29 juin 2011 à 13:06
bonjour,
debutant en C , je me suis crée un petit programme à titre d'exercice , mais je suis bloqué quand à calculer la somme des elements de mon tableau ,Pourriez vous m'indiquer une methode pour y arriver , encor merci à tous! voici donc mon programme ;
int tab[10];
int i=0;
for(i=0;i<=9;i++)
{
printf(" donnez la valeur N° %ld",i);
scanf("%ld",tab[i]);
}
ensuite je voudrai faire la somme de mes 10 elements et là je bloque .
Merci
Lire la suite 

Somme d'elements d'un tableau en C »

6 réponses
Réponse
+10
moins plus
Ce topic date pas mal maintenant ! :p
Mais bon, vu que je suis tombé dessus, autant y participer et donner un plus.

Pour ceux qui ont vu les pointeurs ou pour ceux qui veulent une correction de l'exercice proposé sur le SDZ, l'exercice demandé en C peut s'écrire ainsi :

#include <stdio.h>
#include <stdlib.h>

void sommeTableau (int tableau[], int *pointeursomme);


int main()
{
int somme=0;
int tableau[4]={2,5,7,8};
sommeTableau(tableau,&somme);
printf("%d", somme);

return 0;
}


void sommeTableau (int tableau[], int *pointeursomme)
{
int i=0;

for(i=0;i<4;i++)
{
*pointeursomme = *pointeursomme + tableau[i];

}
}


Voila, j'espère que ça aidera certains ! :)
Ajouter un commentaire
Réponse
+7
moins plus
tu y étais presque, allez un petit effort!!!
int tab[10];
int i=0;
int tot=0;
for(i=0;i<=9;i++)
{
printf(" donnez la valeur N° %ld",i);
scanf("%ld",tab[i]);
tot=tot+tab[i];
} 

printf("Somme des 10 elements du tableau: %d",tot);
flight7218- 22 mai 2007 à 21:36
merci à toi "nauno" ,( flight7218)
j'espère que ça t'aidera :) - 29 juin 2011 à 13:06
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
int tableau[4]={2,3,9,8}; //Par exemple

int somme (int tableau[], int taille)
{
int y=0 ,i=0;

for (i=0;i<taille;i++)
{
y = y+tableau[i] ;
}


return y;
}

printf("%d\n" ,somme (tableau, 4));

return 0;
}
Ajouter un commentaire
Réponse
+1
moins plus
sur ton printf dans ta fonction, tu donne %ld soit un nombre décimal, alors que tu as déclaré plus haut que c'était un int. donc il faut que tu mette %d et non %lf ou alors que tu change le type de ta variable quand tu la déclare.

ensuite lors de ton scanf tu met %d ce qui est exact car tu veu bien un entier. mais ton paramètre est incorect.

en effet tu lui indique ,tableau[i]. il va donc comprendre :" écris la valeur que l'on a entré sur la variable tableau[i]".

alors que tu veux écrire dans la case i de ton tableau.
il faut donc écrire : scanf("%d",&tableau[i]);

voici ton algo corrigé :

#include <stdio.h>
#include <stdlib.h>

int sommetableau(int *tableau, int tailletableau);
int main(int argc,char *argv[])
{
int tabl[5];

sommetableau(tabl,5);
return 0;
system("PAUSE");
}
int sommetableau(int *tableau, int tailletableau)
{
int i,somme=0;

for(i=0;i<tailletableau;i++)
{
printf("donner un nombre entier numero %d au hazard:\n",i);
scanf("%d",&tableau[i]);
somme=somme+tableau[i];
}
printf("voici la somme obtenu:%d",somme);
return somme;
}
Ajouter un commentaire
Réponse
+0
moins plus
Est ce que vous pouvez me dire pourquoi ce code ne marche pas?
Merci de me répondre!



#include <stdio.h>
#include <stdlib.h>

int sommetableau(int *tableau, int tailletableau);
int main(int argc,char *argv[])
{
int tabl[5];

sommetableau(tabl,5);
return 0;
system("PAUSE");
}
int sommetableau(int *tableau, int tailletableau)
{
int i,somme=0;

for(i=0;i<tailletableau;i++)
{
printf("donner un nombre entier numero %ld au hazard:\n",i);
scanf("%d",tableau[i]);
somme=somme+tableau[i];
}
printf("voici la somme obtenu:%d",somme);
return somme;
}
Ajouter un commentaire
Ce document intitulé « Somme d'elements d'un tableau en C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?