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:
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!
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).
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
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).
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;
}
#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].