Somme tableau

Fermé
MBDH Messages postés 1 Date d'inscription mercredi 16 novembre 2016 Statut Membre Dernière intervention 16 novembre 2016 - 16 nov. 2016 à 10:07
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 16 nov. 2016 à 13:53
Bonjour,

Je souhaite afficher la somme d'un tableau or j'obtiens en résultat 0, pouvez-vous m'aider? je n'ai ni erreur ni warning.
voici mon code:


#include <stdio.h>
#include <stdlib.h>
int sommeTableau(int tableau[],int tailleTableau);
int main()
{
int tailleTableau=0;
int s=0;
int tableau[4]={10,20,30,40};
s=sommeTableau(tableau,tailleTableau);
printf("la somme de %d et %d vaut:%d",tableau[tailleTableau],tableau[tailleTableau+1],s);
return 0;
}
int sommeTableau(int tableau[],int tailleTableau)
{
int i, somme=0;
for(i=1;i<tailleTableau;i++)
{
tableau[i]+=tableau[i];
}
return somme;
}
Je vous remercie d'avance pour votre aide.

A voir également:

1 réponse

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 16/11/2016 à 13:57
#include <stdlib.h>
#include <stdio.h>

int sommeTableau(int tableau[],int tailleTableau);

int main()
{
  int s=0;
  int tableau[]={10,20,30,40};
  int tailleTableau = sizeof(tableau) / sizeof(int);
  
  s = sommeTableau(tableau, tailleTableau);
  printf("La somme des %d éléments du tableau vaut: %d\n",tailleTableau, s);
  return EXIT_SUCCESS;
}

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


Remarques:
  • ton utilisation des variables n'est pas cohérente
  • le premier élément de int aTable[] est aTable[0], les indices commencent à 0 .
  • tailleTableau n'es initialisé nulle part
  • tableau[i]+=tableau[i]; Tu ne fais que multiplier les éléments parcourus par 2 !
  • utilise un éditeur de code digne de ce nom (emacs est trè bien), indente ton code (emacs fait cela presque automatiquement) et utilise les balises de code disponibles sur CCM


Résultat:
johand@bata:~/src/CCM/C$ gcc -Wall -o somme_tableau somme_tableau.c
johand@bata:~/src/CCM/C$ ./somme_tableau
La somme des 4 éléments du tableau vaut: 100


Gates gave ^W  sold  you the windows.
GNU gave us the whole house.(Alexandrin)
0