Partage
  • Partager sur Facebook
  • Partager sur Twitter

la somme des éléments d'un tableau

exercice débutant

Sujet résolu
11 avril 2010 à 15:10:15

Bonjour;

je suis débutant en langage C et je suis à la fin de la 2ème partie du cour C. j'ai essayé d'écrire un programme qui calcule la somme des éléments d'un tableau et voila mon code:

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

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

int main()
{
int S=0;
int tableau[4] = {1,3,2,6};
S=sommeTableau(tableau,4);

printf("la somme des elements du tableau est :%d\n\n",S);
return 0;

}
int sommeTableau(int tableau[], int tailTableau)

{
int i=0 , somme=0;

for (i=0 ; i<tailTableau ; i++)

{
somme=somme+tableau[i];

}
}

le problème c'est que ce programme affiche la valeur 4, alors que la somme c'est 12 :o:o ???????????

est ce que vous pouvez m'aider??
Merci d'avance :)
  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2010 à 15:12:40

Il est où ton "return somme;" ? ^^
  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2010 à 15:15:49

oui j'ai déjà fait le return mais le résultat devenu toujours 1
  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2010 à 15:19:41

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

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

int main()
{
    int S=0;
    int tableau[4] = {1,3,2,6};
    S=sommeTableau(tableau,4);

    printf("la somme des elements du tableau est :%d\n\n",S);
    return 0;
}


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


J'ai retaper ton code dans un projet, et cela m'affiche 12

Tu as du placer le return dans le for
  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2010 à 15:24:54

salut
aie l'habitude de mettre le programme dans des balises ,
en ajoutant le return somme et getch() (ou bien system(pause)) le programme marche :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int sommeTableau(int tableau[], int tailTableau);

int main()
{
int S=0;
int tableau[4] = {1,3,2,6};
S=sommeTableau(tableau,4);

printf("la somme des elements du tableau est :%d\n\n",S);
getch();
return 0;

}
int sommeTableau(int tableau[], int tailTableau)

{
int i=0 , somme=0;

for (i=0 ; i<tailTableau ; i++)

{
somme=somme+tableau[i];

}
return somme;
}



a+
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
31 octobre 2013 à 11:12:57

widad3 a écrit:

salut
aie l'habitude de mettre le programme dans des balises ,
en ajoutant le return somme et getch() (ou bien system(pause)) le programme marche :

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int sommeTableau(int tableau[], int tailTableau);

int main()
{
int S=0;
int tableau[4] = {1,3,2,6};
S=sommeTableau(tableau,4);

printf("la somme des elements du tableau est :%d\n\n",S);
getch();
return 0;

}
int sommeTableau(int tableau[], int tailTableau)

{
int i=0 , somme=0;

for (i=0 ; i<tailTableau ; i++)

{
somme=somme+tableau[i];

}
return somme;
}


a+


Salut, il manque void entre les parenthèses de main, et je ne pense pas qu'il soit nécessaire d'utilsier conio pour ça : un simple getchar(); fait très ien l'affaire également ;).

PS : rappel : x = x + y; --> x += y;

  • Partager sur Facebook
  • Partager sur Twitter
22 février 2014 à 14:50:28

svp j veux faire une question mais j peux pas c'est calculer et affichier la somme des élèments qui qui ont l'indice paire du tableau T par exemple si N=8 donc T egale 8 case et la somme des élèments qui ont l'indice paire =20 

comment vous faire ?

-
Edité par achrafmsk 22 février 2014 à 15:02:05

  • Partager sur Facebook
  • Partager sur Twitter
22 février 2014 à 15:03:49

En supposant length et arr initialisés :

int i;
int s = 0;
for (i = 0 ; i<length ; i += 2)
    s += arr[i];

//Ou sinon
for (i = 0 ; 2*i<length ; i++)
    s += arr[2*i];



  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2016 à 11:50:41

voila mon code . qlq qui peut m'aider pourquoi il ne fonctionne pas??

#include<stdio.h>

void remplissage(int T[],int n);

int somme(int T[],int n);

main()

{

int T[50];

int n;

int i;

int S;

printf("donner la taille de votre tableau\n");

scanf("%d",n);

remplissage(T,n);

S=somme(T,n);

printf("la somme est : %d\n",S);

return 0;

}

void remplissage(int T[],int n)

    {int i ;

         for (i=0;i<n;i++)

            {printf("donner la case numero %d\n",i);

            scanf("%d",T[i]);

            }

    }

int somme(int T[],int n)

{

int S=0;

int i;

    for (i=0;i<n;i++)

    {S=S+T[i];

    }

}

  • Partager sur Facebook
  • Partager sur Twitter
21 décembre 2016 à 18:56:10

#include <stdio.h>
#include <stdlib.h>
main()
{
 /* Déclarations */
 int T[100]; /* tableau donné  */
 int N;    
 int I;     /* indice courant */
 long SOM;  /* somme des éléments  */
 /* Saisie des données */
 printf("\tdonner la valeur de n : ");
 scanf("%d", &N );
 for (I=0; I<N; I++)
    {
     printf("element  %d ==> ", I);
     scanf("%d", &T[I]);
    }
  /* Affichage du tableau */
 printf("le tableau est :\n");
 for (I=0; I<N; I++)
     printf("%d ", T[I]);
 printf("\n");
  /* Calcul de la somme */
 for (SOM=0, I=0; I<N; I++)
     SOM += T[I];
  /* Edition du résultat */
 printf("\t²Somme des elements du tableau est :² %ld\n", SOM);
 return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
28 décembre 2016 à 1:02:57

bonjour est ce que quelq'un parmi vous peut m'aider a rsoudre un algorithme qui calcule le produit des elements d'un tableau de dimension N superieur ou egale a 100 svp.

-
Edité par FelixDosSantos 28 décembre 2016 à 1:07:37

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2017 à 17:42:56

quelqu'un peut m'aider svp...

Écrire une fonction nommée hasNValues qui prend un tableau et un entier en paramètre et qui retourne 1 si la quantité totale des éléments du tableau est égale a l’entier sans tenu compte des doublons.

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2017 à 17:49:15

Tu as tout faux :

1) Bonjour,

2) déterrage.

3) Utilisation d'un sujet qui n'est pas le tiens.

4) Tu demandes de faire ton travail, sans avoir commencer quoi que ce soit.

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2017 à 17:51:08

Crée ton post.... et n'espère pas une solution "clé en main" sur ce forum. Montre ce que tu as tenté, et là où tu as un problème

EDIT: écrit en même temps que la réponse de rouloude

-
Edité par edgarjacobs 19 août 2017 à 17:52:51

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

19 août 2017 à 18:00:19

je ne sais pas comment gerer les doublons
  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2018 à 22:11:17

bonjours j'ai un problème 

j'ai pas compris cette exercice

"établir le programme qui permet de chercher l'élements d'un tableau  son répétition et avec répétition " 

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2018 à 22:45:27

Bonjour ! Tu as eu tort de remonter un si vieux sujet (il fallait créer ton propre sujet) et j'ai probablement tort de répondre...

Voici deux tableaux :

Tableau 1 = {1, 4, 8, 2, 6, 9, 5, 3}

Tableau 2 = {1, 4, 2, 4, 6, 4, 8, 9, 4, 1, 1, 1, 4, 4, 4, 4, 4}

Dans le tableau 2, des éléments sont présents à plusieurs endroits : ce sont des répétitions.

Tu dois écrire un programme qui cherche un élément. Par exemple mettons qu'on cherche le nombre 4. Comment ferais-tu avec le tableau 1 ? Et avec le tableau 2 ?

  • Partager sur Facebook
  • Partager sur Twitter
23 mai 2018 à 12:38:21

Écrire un programme qui permet de calculer la somme des éléments d'un tableau

  • Partager sur Facebook
  • Partager sur Twitter
23 mai 2018 à 12:54:30

SaraSousou1 a écrit:

Écrire un programme qui permet de calculer la somme des éléments d'un tableau


C'est pas la politesse qui t'étouffe....
  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

23 mai 2018 à 13:10:30

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster, demandez-vous si ce que vous allez dire apporte quelque chose au sujet. Si votre message n'apporte rien, vous ferez perdre du temps à tout le monde et le sujet pourrait dévier ou devenir difficile à suivre.

Aussi, vérifiez la date du topic. Le déterrage de topic nuit au bon fonctionnement du forum et est interdit. Utilisez les boutons pouce en haut pour dire merci. Si le topic date de plus de deux mois sans réponses, mieux vaut ne pas répondre. Si vous avez une question similaire, créez plutôt votre propre sujet en détaillant votre contexte

Je ferme ce sujet.


@sarasousou1 merci de lire les règles du forum ainsi que la charte de bonne conduite avant de poster.

https://openclassrooms.com/terms-conditions#code-of-conduct

  • Partager sur Facebook
  • Partager sur Twitter