Somme tableau [Fermé]

Signaler
Messages postés
1
Date d'inscription
mercredi 16 novembre 2016
Statut
Membre
Dernière intervention
16 novembre 2016
-
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
-
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.

1 réponse

Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
936
#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)