Pobleme en language c

Fermé
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010 - 6 mars 2010 à 11:35
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010 - 6 mars 2010 à 17:09
Bonjour,
je suis debutante en langauge c j'ai compiler le programme suivant qui calcule la somme des elements d'un tableau mé je sais pas pour quoi ça m'affiche pas la somme !!! :(
y a t-il kelkin ki peut m'aider ????
merci d'avance
#include <stdio.h>
main()
{

int T[50];
int n, i ;
long som;
printf("Dimension du tableau (max.50) : ");
scanf("%d", &n );
/*remlissage du tableau*/
for (i=0; i<n; i++)
{
printf("Elément %d : ", i);
scanf("%d", &T[i]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (i=0; i<n; i++)
printf("%d ", T[i]);
printf("\n");
/* Calcul de la somme */
for ( i=0; i<n; i++)
som += T[i];
/* affichage du résultat */
printf("Somme de éléments : %ld\n", som);
return 0;}

23 réponses

Salut,

déjà pas d'accent en langage C si tu es sous windaub x)

Peux tu détailler + ton problème ?

Car chez moi il affiche le résultat...
0
Euhm...en faite c'est bof bof

Qu'as tu prévu pour que ton programme affiche le résultat de la somme de tes éléments ?
Pourquoi demandes tu la dimension max du tableau ? (ça me semble inutile)
Pourquoi fais tu cela en console ????
0
Ah ok, j'ai pigé pour la dimension...(c'est indispensable xD)

Mais peux tu détailler le reste stp
0
bonjour,
le prob c k tu n'as po initialisé la somme s, au lieu de faire long som,essaye de faire long som=0;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut =)

*ça ne changera rien, mais initialise la à 0 (prends cette habitude)

*Mais le pb c'est que tu n'as rien prévu pour que ton programme "s'arrête", c'est-à dire qu'à chaque fois que tu vas rentrer 1 élément, un nouveau te seras demandé. Or il faut que dises à ton programme quelque chose du genre :

"quand l'utilisateur a rentré son nb d'elements voulus alors affiche le resultat de la somme"
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:29
bon g ecrit long som = 0 mé le probleme reste
mon probleme ke lorske g execute le programme il me demande la taille du tableau je le lui entre puis il me demande les elements un par un aussi g les lui donne aussi mé une fois g taper le dernier element r1 ne s'affiche et le console se ferme tt de suite
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 12:32
salut
nn,chi po d'acc ,elle a précisé le nbr des élém du tab dés le début ,c n,donc la saisie des ele s'arretera une fois le nbr n est atteint
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:33
slt bark c c ke g veux faire mé comment???????
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:34
slt rimi mé la saisi s'arrete et le programme se ferme tt de suite sans afficher la somme
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 12:38
salut,exécute ce code ,essaye plzz mekaelle
#include <stdio.h>
#include<stdlib.h>
main()
{

int T[50];
int n, i ;
long som=0;
printf("Dimension du tableau (max.50) : ");
scanf("%d", &n );
/*remlissage du tableau*/
for (i=0; i<n; i++)
{
printf("Elément %d : ", i);
scanf("%d", &T[i]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (i=0; i<n; i++)
printf("%d ", T[i]);
printf("\n");
/* Calcul de la somme */
for ( i=0; i<n; i++)
som += T[i];
/* affichage du résultat */
printf("Somme de éléments : %ld\n", som);


system ("pause");}
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 12:40
moi j'utilise le dev c++,et ça m'a donné le résultat,y a po d'erreur ds le programme
0
Hé rimi-naroto ! ce que j'veux dire c'est que tu peux aller au-delà de 50 donc 50 n'est pas la valeur max !

Et cette ligne directive: #include<stdlib.h> ça n'y changera rien tu peux le mettre mais c'est pas ça qui fera que...


* Mekaelle ?

Tu compile avec quoi ? Sous quoi (windows ou linux) ?

Chez moi ton prog fonctionne mais on peut dire qu'il est faux car on peut aller au delà de 50 elements
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:47
merci bokou rimi ça marche chez moi aussi :)) g l'essayé sur dev c++ , mé je comprend pas pk ta utilisé la include <stdlib.h>????
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:50
@ brak
je suis sous windows et j'utilise dev c++
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 12:54
le <stdlib.h> c seulement pour garder la console ,c une chose qui dépend de version de compilateur,et si tu veux lors de la saisie d'une dim de tableau k t'as choisi, ici 50 tu dois ajouter une boucle while qui te redemande à chak fois d'entrer une dim inf à 50,voilà un exp:
#include <stdio.h>
#include<stdlib.h>
main()
{

int T[50];
int n, i ;
long som=0;
printf("Dimension du tableau (max.50) : ");
scanf("%d", &n );
while(n>50){
printf("essaye de nouveau ,le nbr entré est sup à 50");
scanf("%d", &n );}
/*remlissage du tableau*/
for (i=0; i<n; i++)
{
printf("Elément %d : ", i);
scanf("%d", &T[i]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (i=0; i<n; i++)
printf("%d ", T[i]);
printf("\n");
/* Calcul de la somme */
for ( i=0; i<n; i++)
som += T[i];
/* affichage du résultat */
printf("Somme de éléments : %ld\n", som);


system ("pause");}
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 12:57
est ce k c ça c k tu voulais dire brak,j'espère je t'ai compris::))
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 12:58
si j'entre dans la dimension du tableau un element ki n'est po entier par exemple lettre j'aurais un boucle infini keske j'ajoute pour resoudre ce probleme
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 13:25
SALUT mekaelle
dsl pour le retard,voici le prog ,essaye le,et si tas une kestion n'hesite po
#include <stdio.h>
#include<stdlib.h>
main()
{

int T[50];
int n, i ;
long som=0;
printf("Dimension du tableau (max.50) : ");
if (scanf("%c", &n )) {printf("il faut entrer un entier");}

scanf("%d", &n );
while(n>50){
printf("essaye de nouveau ,le nbr entré est sup à 50");
scanf("%d", &n );}
/*remlissage du tableau*/
for (i=0; i<n; i++)
{
printf("Elément %d : ", i);
scanf("%d", &T[i]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (i=0; i<n; i++)
printf("%d ", T[i]);
printf("\n");
/* Calcul de la somme */
for ( i=0; i<n; i++)
som += T[i];
/* affichage du résultat */
printf("Somme de éléments : %ld\n", som);


system ("pause");}
0
rimi-naroto Messages postés 8 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 13:33
eh maekelle,ce programme signale l'erreur lors de la saisie d'1 seul caractère au lieu d'un entier,pour qu'il fait du mm pour un string tu n'as qu'à remplacer le %c par le %s.
0
mekaelle Messages postés 10 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 13:56
merci rimi ça marche très b1 chwi hyper heureuse :)))))
0
po d koi,heureuse aussi pour toi :)
0