Mauvais résultat en prog C
Résolu
KunGu
Messages postés
1231
Statut
Membre
-
KunGu Messages postés 1231 Statut Membre -
KunGu Messages postés 1231 Statut Membre -
Bonjour,
Mon code devrait me donner la somme de tous les chiffres du tableau, or il me donne seulement le premier chiffre du tableau ! Qu'est-ce qui cloche ? :
Mon code devrait me donner la somme de tous les chiffres du tableau, or il me donne seulement le premier chiffre du tableau ! Qu'est-ce qui cloche ? :
#include <stdio.h>
#include <stdlib.h>
long sommeTableau(long tableau[], long tailleTableau)
{
long i;
for (i = 0 ; i < tailleTableau ; i++)
{
long sommetotale = 0;
static long somme = 0;
sommetotale = somme + tableau[i];
return sommetotale;
}
}
int main(int argc, char *argv[])
{
long tableau[4] = {14, 58, 32}, toutesLesSommes = 0;
toutesLesSommes = sommeTableau(tableau, 4);
printf("La somme de tous les nombres du tableau est de %ld", toutesLesSommes);
system("pause");
return 0;
}
A voir également:
- Mauvais résultat en prog C
- Resultat foot - Télécharger - Vie quotidienne
- Robot prog - Télécharger - Édition & Programmation
- Lexer resultat - Télécharger - Sport
- 5/90 resultat ✓ - Forum Excel
- Resultat loto 5/90 - Forum Excel
6 réponses
salut j'ai récupéré ton code et corriger les erreurs qu'il y avaient.Il y en avaient un max, mais la cause du problème est que tu as inclut le return dans la boucle for.je tenvoie le code corrigé. La somme est 115.
De plus, utilises getch() au lieu de système ("pause").
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
long sommeTableau(long tableau[], long tailleTableau)
{
long i;
long sommetotale = 0;
static long somme = 0;
for (i = 1 ; i <= tailleTableau ; i++)
{
sommetotale = sommetotale + tableau[i];
}
return sommetotale;
}
int main(int argc, char *argv[])
{
long tableau[4] = {14, 58, 32}, toutesLesSommes = 0;
toutesLesSommes = sommeTableau(tableau, 4);
printf("\nLa somme de tous les nombres du tableau est de %d\n", toutesLesSommes);
getch();
return 0;
}
De plus, utilises getch() au lieu de système ("pause").
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
long sommeTableau(long tableau[], long tailleTableau)
{
long i;
long sommetotale = 0;
static long somme = 0;
for (i = 1 ; i <= tailleTableau ; i++)
{
sommetotale = sommetotale + tableau[i];
}
return sommetotale;
}
int main(int argc, char *argv[])
{
long tableau[4] = {14, 58, 32}, toutesLesSommes = 0;
toutesLesSommes = sommeTableau(tableau, 4);
printf("\nLa somme de tous les nombres du tableau est de %d\n", toutesLesSommes);
getch();
return 0;
}
j'ai compilé le fichier sous dev cpp dans un fichier cpp.Une chose en passant pourquoi prendre comme compteur une variable i de type long, pour une optimisation tu pourrais prendre int ou smallint ou short int.ok? bye
Merci ça marche maintenant ! j'ai viré les long et le return de la boucle for et supprimé le static long somme = 0 qui ne servait à rien.
Mais je crois que tu as aussi commis 2 petites erreurs ^^ : dans la boucle for tu as mis i = 1 alors qu'on l'initialise normalement à 0. Et tu as dit que le résultat faisait 115 alors qu'il fait 104 ;-)
PS: Pourquoi as-tu ajouté #include <conio.h> ?
PS2: Merci pour ces réponses rapides !
Voila le code fini :
Mais je crois que tu as aussi commis 2 petites erreurs ^^ : dans la boucle for tu as mis i = 1 alors qu'on l'initialise normalement à 0. Et tu as dit que le résultat faisait 115 alors qu'il fait 104 ;-)
PS: Pourquoi as-tu ajouté #include <conio.h> ?
PS2: Merci pour ces réponses rapides !
Voila le code fini :
#include <stdio.h>
#include <stdlib.h>
long sommeTableau(long tableau[], long tailleTableau)
{
long i;
long sommetotale = 0;
for (i = 0 ; i < tailleTableau ; i++)
{
sommetotale = sommetotale + tableau[i];
}
return sommetotale;
}
int main(int argc, char *argv[])
{
long tableau[4] = {14, 58, 32}, toutesLesSommes = 0;
toutesLesSommes = sommeTableau(tableau, 4);
printf("\nLa somme de tous les nombres du tableau est de %ld\n", toutesLesSommes);
getch()
return 0;
}
Oui c'est vrai tu as raison mais je suis le tuto du site du zéro et il utilise toujours des long. Mais quand je programmerait tout seul je ne commettrai plus ces erreurs ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question