Pobleme en language c

mekaelle Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
mekaelle Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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

Bark
 
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
Bark
 
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
Bark
 
Ah ok, j'ai pigé pour la dimension...(c'est indispensable xD)

Mais peux tu détailler le reste stp
0
rimi-naroto
 
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
Bark
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
slt bark c c ke g veux faire mé comment???????
0
mekaelle Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
moi j'utilise le dev c++,et ça m'a donné le résultat,y a po d'erreur ds le programme
0
Brak
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
@ brak
je suis sous windows et j'utilise dev c++
0
rimi-naroto Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
merci rimi ça marche très b1 chwi hyper heureuse :)))))
0
rimi-naroto
 
po d koi,heureuse aussi pour toi :)
0