Mauvais résultat en prog C
Résolu/Fermé
KunGu
Messages postés
1169
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
17 mars 2013
-
11 mars 2008 à 22:40
KunGu Messages postés 1169 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 17 mars 2013 - 15 mars 2008 à 12:03
KunGu Messages postés 1169 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 17 mars 2013 - 15 mars 2008 à 12:03
A voir également:
- Mauvais résultat en prog C
- Resultat foot - Télécharger - Vie quotidienne
- Lexer resultat - Télécharger - Sport
- Robot prog - Télécharger - Édition & Programmation
- Résultat loto bulgarie autriche azerbaïdjan ✓ - Forum Loisirs / Divertissements
- Formule excel si résultat négatif alors 0 - Forum Excel
6 réponses
ltstam
Messages postés
395
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
28 juin 2010
59
11 mars 2008 à 23:00
11 mars 2008 à 23:00
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;
}
ltstam
Messages postés
395
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
28 juin 2010
59
11 mars 2008 à 23:03
11 mars 2008 à 23:03
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
KunGu
Messages postés
1169
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
17 mars 2013
224
11 mars 2008 à 23:17
11 mars 2008 à 23:17
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; }
KunGu
Messages postés
1169
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
17 mars 2013
224
11 mars 2008 à 23:19
11 mars 2008 à 23:19
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
ltstam
Messages postés
395
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
28 juin 2010
59
11 mars 2008 à 23:30
11 mars 2008 à 23:30
tu n'as pas à t'excuser.J'ai appris et je continue d'apprendre comme toi.OK?contactes moi dès que le besoin se fait sentir.OK?Marques la discussion comme résolue(en bas de ton message)
KunGu
Messages postés
1169
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
17 mars 2013
224
12 mars 2008 à 11:35
12 mars 2008 à 11:35
avant que je mette résolu tu pour me dire Pourquoi tu as ajouté #include <conio.h> ?
ltstam
Messages postés
395
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
28 juin 2010
59
12 mars 2008 à 19:33
12 mars 2008 à 19:33
j'ai mis conio.h a cause de getch() c'est une fonction de la bibliothèque conio.h ok?
KunGu
Messages postés
1169
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
17 mars 2013
224
15 mars 2008 à 12:03
15 mars 2008 à 12:03
ok merci !