Se connecter

Informatique

Programmation

Sujet : Calcule la somme d'un tableau en C
1
LepetitJinouga
Niveau 32
21 janvier 2019 à 14:33:39

:salut:

Je suis dans une impasse! :-(

Je dois calculé les sommes d'une valeur d'un tableau mais quand je le fais le programme me calcule que somme + tableau[0].

C'est à dire la somme qui vaut 0 et tableau[0] qui vaut 10:

https://www.noelshack.com/2019-04-1-1548077537-sddsdss.png
https://www.noelshack.com/2019-04-1-1548077545-dfd.png

Mais le programme veut pas prendre en compte les autres cases du tableau du coup sa peux pas calculé la somme des valeurs.
Pourtant je suis persuadé qu'il s'agit de la bonne syntaxe, aidez moi svp! :snif2:

_S0uL
Niveau 9
21 janvier 2019 à 15:47:04

Sors ton return de ta boucle for. Ce que tu fais là c'est que lors de la toute première itération ou tour de boucle tu renvoie ta somme et tu sors de ta fonction. Ce que tu veux c'est boucler sur la totalité de tes éléments PUIS renvoyer et sortir de ta fonction.

Je ne sais pas ou tu en es dans ton cursus mais il serai pas mal de voir un peu de cours d'algo avant de te lancer dans la programmation sans trop savoir ce que tu fais (je ne veux pas être condéscendant bien sur, c'est juste que c'est vraiment quelque chose de basique et que si tu commence sans les bases tu vas galérer).

Dryoneogaming
Niveau 9
21 janvier 2019 à 17:40:31

tu as oublié + R dans la ligne ou tu affectes à R.
comme dit mon vdd, revois les cours d'algo c'est hyper important pour apprendre à programmer

Pseudo supprimé
Niveau 10
21 janvier 2019 à 17:49:38

En fait le R de gauche devrait devenir somme ou le somme de droite devrait devenir R.
Pas besoin de deux variables (et oui il faut sortir le return du for).

no_lift_69
Niveau 10
21 janvier 2019 à 18:23:40

tu devrais arriver a ça:

int fonction(int tableau[], int taille)
{
	int somme = 0;
	for (int i = 0; i < taille; i++)
		somme += tableau[i];	

	return somme;
}
Pseudo supprimé
Niveau 10
23 janvier 2019 à 22:11:16
#include<stdio.h>

int FunSomme(int tableau[], int taille){
    int somme = 0;
    for (int i = 0; i < taille; i++){
        somme += *tableau++; 
   }

    return somme;
}

int main() {
    int tableau[3] = {10, 10, 10};
    
    printf("%d ", FunSomme(tableau, 3));
  
}

Voila à quoi peut ressembler une fonction de somme. Si tu mets un return dans ta boucle for cela veut dire que dès la première itération ta valeur que tu retournes sera retourné à ta fonction donc la fonction se stop. Ensuite ta variable somme sers strictement à rien et R doit être réutiliser par exemple : R = R + tab[i].

1
Sujet : Calcule la somme d'un tableau en C
   Retour haut de page
Consulter la version web de cette page