Créer une fonction sommeTableau

Résolu/Fermé
lidkalid Messages postés 2 Date d'inscription lundi 12 mai 2014 Statut Membre Dernière intervention 13 mai 2014 - Modifié par samgunsjovirow le 13/05/2014 à 10:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 mai 2014 à 14:00
Bonjour,
Comment créer une fonction sommeTableau qui renvoie la somme des valeurs contenues dans le tableau (en utilisant un
return pour renvoyer la valeur).
j'ai ce prototype

int sommeTableau(int tableau[], int tailleTableau);
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
12 mai 2014 à 23:16
Bonjour,
Il suffit de faire une boucle for.
Tu initialises la variable somme à 0.
Ensuite dans ton for, tu parcours tout le tableau (i varie de 0 à tailleTableau) et tu additionnes la variable somme avec tableau[i].
Et tu renvoie la variable somme.

Ce qui donne :
int sommeTableau(int tableau[], int tailleTableau) {
     ... somme=...;
     int i;
     for(i=...; i < ...; i++) {
          ... = ... + ...;
     }
     return ...;
}

2
lidkalid Messages postés 2 Date d'inscription lundi 12 mai 2014 Statut Membre Dernière intervention 13 mai 2014
13 mai 2014 à 10:01
bonjour.

voici ce que j'ai écris et sa me donne de faux résultats
#include <stdio.h>
#include <stdlib.h>

int main()
{
int tableau[4],i=0;
sommeTableau(tableau,4);
printf("%d \n",tableau);

return 0;
}

int sommeTableau(int tableau[], int tailleTableau)
{
int somme=0;
int i;
for (i = 0 ; i < tailleTableau ; i++)
{
somme+=tableau[i];
}
return somme;
}

je précise que le prototype est dans le header
0
ton tableau est vide --'
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
13 mai 2014 à 14:00
Ton tableau est vide. Il faut donc lui mettre des valeurs dedans.
Par exemple : int tableau[4]={1,2,3,4};

Ensuite, tu fais printf("%d\n", tableau). Ce n'est pas le tableau qu'il faut afficher mais la valeur retournée par la fonction. Il faut donc dans le main() faire : int somme=sommeTableau(tableau,4); et afficher somme.
Cdlt,
0