Programme C et Tableau -- HELPP svp!
Résolu
ram dam
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voila, jai un exam lundi prochain et j essai de resoudre ce petit probleme mais je bloque!
-le truc, c'est faire un tableau avec en 1er ligne "les année" {1951; 1952; 1953; ...jusqu'a; 1960}
on demande alors a l utilisateur de rentrer des valeurs de temperature pour chaque année pour enfin afficher la moyenne de temperature sur cette periode (de 1951 a 1960).
et ici, ce que jai commecé, mais cela ne marche pas!!
Merci a tous!
jai vraiment besoin de vous..
Voila, jai un exam lundi prochain et j essai de resoudre ce petit probleme mais je bloque!
-le truc, c'est faire un tableau avec en 1er ligne "les année" {1951; 1952; 1953; ...jusqu'a; 1960}
on demande alors a l utilisateur de rentrer des valeurs de temperature pour chaque année pour enfin afficher la moyenne de temperature sur cette periode (de 1951 a 1960).
et ici, ce que jai commecé, mais cela ne marche pas!!
#include <stdio.h> int main() { int i; //pour les annee float s; //la somme de temperature float T[10]; //le tableau for (i = 1951; i < 1961; i++) { printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature scanf("%f", &T[i]); //la valeur est mise dans le tableau } s=s+T[i]; //la somme de toutes les temperatures pour le calcul de la moyenne printf ("moyene \n", s/10); return 0; }
Merci a tous!
jai vraiment besoin de vous..
A voir également:
- Programme C et Tableau -- HELPP svp!
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Programme demarrage windows - Guide
8 réponses
le code devrait ressembler à ça :
#include <stdio.h>
void main()
{
int i; //pour les annee
float s=0, moy=0; //la somme de temperature
float T[10]; //le tableau
for (i = 0; i < 10; i++)
{
printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature
scanf("%f", &T[i]); //la valeur est mise dans le tableau
s=s+T[i]; //la somme de toutes les temperatures pour le calcul de la moyenne
}
moy=s/10;
printf ("moyene %f \n", moy);
}
#include <stdio.h>
void main()
{
int i; //pour les annee
float s=0, moy=0; //la somme de temperature
float T[10]; //le tableau
for (i = 0; i < 10; i++)
{
printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature
scanf("%f", &T[i]); //la valeur est mise dans le tableau
s=s+T[i]; //la somme de toutes les temperatures pour le calcul de la moyenne
}
moy=s/10;
printf ("moyene %f \n", moy);
}
salut,
scanf("%f", &T[i]); //la valeur est mise dans le tableau !!! mais t'as mis la valeur dans T[1956] ki n'est pas défini
je vous conseil d'utiliser unetableau à 2 dimension 2x10 dans la première ligne tu stocke les années ds la 2ème les temperature !
si c n'est pas essentiel de mémoriser les température essaye c programme:
#include <stdio.h>
int main()
{
int i;
float s=0,n;
int T[10];
for (i = 1951; i < =1960; i++)
{
printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature
scanf("%f",n)
s=s+n; //la somme de toutes les temperatures pour le calcul de la moyenne
}
printf ("moyene =", s/10);
return 0;
}
j'ai pris votre programme et je fais qque modifications!
scanf("%f", &T[i]); //la valeur est mise dans le tableau !!! mais t'as mis la valeur dans T[1956] ki n'est pas défini
je vous conseil d'utiliser unetableau à 2 dimension 2x10 dans la première ligne tu stocke les années ds la 2ème les temperature !
si c n'est pas essentiel de mémoriser les température essaye c programme:
#include <stdio.h>
int main()
{
int i;
float s=0,n;
int T[10];
for (i = 1951; i < =1960; i++)
{
printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature
scanf("%f",n)
s=s+n; //la somme de toutes les temperatures pour le calcul de la moyenne
}
printf ("moyene =", s/10);
return 0;
}
j'ai pris votre programme et je fais qque modifications!
votre tableau est définie jusqu'au 10 et tu demande au programme de stocker une valeur dans T[1956] c normal ke tu vas rencontrer un problème!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fais copier/coller mon code pour voir !
parce que j'ai utilisé une autre variable "moy" et dans printf j'ai mit "%f", j'ai un peu oublié le c mais normalement ça devrait marcher
tiens nous au courant
à+
parce que j'ai utilisé une autre variable "moy" et dans printf j'ai mit "%f", j'ai un peu oublié le c mais normalement ça devrait marcher
tiens nous au courant
à+
OUIiiiiiiiii, c'est vrai j'avais oublié le %f du printf
mais toujour ce méme bug
et si on crée au debut un tableau
float T[1961] ???
donc jen suis ici maintenant
mais toujour ce méme bug
et si on crée au debut un tableau
float T[1961] ???
donc jen suis ici maintenant
#include <stdio.h> int main() { int i; //pour les annee float s=0, moy=0; //la somme de temperature float T[10]; //le tableau for (i = 1951; i < 1961; i++) { printf ("temp pour %d \n", i); // on demande ici a lutilsateur de rentrer la temperature scanf("%f", &T[i]); //la valeur est mise dans le tableau s=s+T[i]; //la somme de toutes les temperatures pour le calcul de la moyenne } moy=s/10; printf ("moyene %f \n", moy); }
Voila ca marche!!!
c'etait bien un probleme de tableau trop petit!
et jai donc ici un float T[1961];
c'etait bien un probleme de tableau trop petit!
et jai donc ici un float T[1961];
#include <stdio.h> int main() { int i; float s=0, moy=0; float T[1961]; for (i = 1951; i < 1961; i++) { printf ("temp pour %d \n", i); scanf("%f", &T[i]); s=s+T[i]; } moy=s/10; printf ("moyene %f \n", moy); }
il reste plus qu'a rectifier ta boucle :
for (i=0; i<10; i++)
ça n'a pas de sens de créer un tableau de 1962 cases pour n'utiliser que 10 !!!!!
gaspillage d'espace mémoire inutile, et à l'exam je ne sais pas ce que ça donnera comme remarque ou note !!!!
for (i=0; i<10; i++)
ça n'a pas de sens de créer un tableau de 1962 cases pour n'utiliser que 10 !!!!!
gaspillage d'espace mémoire inutile, et à l'exam je ne sais pas ce que ça donnera comme remarque ou note !!!!
ça marche mais ça n'a aucun sens
tu alloues trop d'espace inutilement donc c'est faux, à l'exam ça jouera contre toi
=> donc , rectifie ta boucle stp !
tu alloues trop d'espace inutilement donc c'est faux, à l'exam ça jouera contre toi
=> donc , rectifie ta boucle stp !
Oui, en effet un si grand tableau pour n'utiliser que très peu de case représente pas beaucoup d'intérêt.
Tu peux jouer avec l'addition pour faire du décalage d'indice. Par exemple :
Et n'oublie pas le return final ;)
Cdlt
Tu peux jouer avec l'addition pour faire du décalage d'indice. Par exemple :
#include <stdio.h> int main(void) { int i; float s=0, moy=0; float T[10]; for (i = 1951; i < 1961; i++) { printf ("temp pour %d \n", i); scanf("%f", &T[i-1951]); s=s+T[i-1951]; } moy=s/10; printf ("moyene %f \n", moy); return 0; }
Et n'oublie pas le return final ;)
Cdlt
je rentre bien la temperature pour la 1er année mais ensuite jai "
"temp.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
normal cette histoire??? et cela vien de chez moi??