Somme tableau

MBDH Messages postés 1 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
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 3678 Statut Modérateur 934
 
#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