Probleme programmation en language c
Fermé
physicien
-
12 nov. 2010 à 13:26
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 12 nov. 2010 à 15:26
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 12 nov. 2010 à 15:26
A voir également:
- Probleme programmation en language c
- Application de programmation - Guide
- Language binaire - Guide
- Votre programmation n'a pas pu être posée ✓ - Forum Box et Streaming vidéo
- Top44rbn programmation - Forum Programmation
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
12 nov. 2010 à 13:49
12 nov. 2010 à 13:49
Pour le premier programme.
Je vois une possible erreur :
printf("la somme du tableau est égale a : %d",s);
Ceci n'affiche pas forcément à l'écran.
Pour forcer l'affichage, soit tu le fais explicitement avec fflush.
Soit, plus simplement : printf("la somme du tableau est égale a : %d\n",s);
Le \n correspond au saut de ligne.
Petite correction également : n'oublie pas de mettre le return 0; dans ton main après ton system("pause");
Même remarque pour ton autre programme.
Autres remarques pour le deuxième programme
scanf("%f",&tab[i]);
Tu mets "%f" alors que tes variables sont de type int. Erreur que ton compilateur devrait te signaler. Si tu veux utiliser les nombres flottants, je te conseille d'utiliser double plutôt que float. Auquel cas, il faudra mettre "%lf" (L minuscule).
Même remarque pour ton printf.
Cdlt,
Je vois une possible erreur :
printf("la somme du tableau est égale a : %d",s);
Ceci n'affiche pas forcément à l'écran.
Pour forcer l'affichage, soit tu le fais explicitement avec fflush.
Soit, plus simplement : printf("la somme du tableau est égale a : %d\n",s);
Le \n correspond au saut de ligne.
Petite correction également : n'oublie pas de mettre le return 0; dans ton main après ton system("pause");
Même remarque pour ton autre programme.
Autres remarques pour le deuxième programme
scanf("%f",&tab[i]);
Tu mets "%f" alors que tes variables sont de type int. Erreur que ton compilateur devrait te signaler. Si tu veux utiliser les nombres flottants, je te conseille d'utiliser double plutôt que float. Auquel cas, il faudra mettre "%lf" (L minuscule).
Même remarque pour ton printf.
Cdlt,
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
12 nov. 2010 à 15:26
12 nov. 2010 à 15:26
Moi j'aurais plutôt écrit:
Bonne continuation.
#include <stdio.h> #define DIM 10 int somme(int tab[]) { int i = 0; int s = 0; for (i=0; i<DIM; i++) s += tab[i]; return(s); } int main (int argc, char* argv[]) { int tab[DIM], i, z; for (i=0; i<DIM; i++) tab[i] = i + 1; z = somme(tab); printf("La somme du tableau est égale à : %d\n", z); system("pause"); return 0; }En demandant au compilateur de faire attention, il t'aurait indiqué ton erreur.
Bonne continuation.