Récupérer variable dans tableau

Résolu/Fermé
sonic1ne Messages postés 8 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 15 mars 2009 - 7 mars 2009 à 01:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mars 2009 à 22:18
Bonjour, je cherche à récupérer et stocker dans un tableau en C toutes les moyennes affichées par une variable du genre :

somme = somme / nombreDeNotes ;


et par la suite, afficher celles-ci par une boucle for:

for (indice = 0; indice < nbMoyenne; indice++)
    printf("%f", tab_moyenne[indice];



Quelqu'un pourrait-il me donner une idée de code ?
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 mars 2009 à 01:17
Salut,
Comment ça afficher toutes les moyennes ?
Tu veux dire la moyenne des notes non ?
Dans ce cas, tu stockes les notes dans un tableau, tu parcours le tableau, tu calcules la somme et tu divises par le nombre de notes.
Par exemple:
int notes[]={15,12,13,...};
double sum=0;
for(size_t i=0;i<sizeof notes/sizeof *notes;i++)
   sum+=notes[i];
printf("%lf\n",sum/(sizeof notes/sizeof *notes));
0
sonic1ne Messages postés 8 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 15 mars 2009
7 mars 2009 à 02:17
Merci fiddy. En faite, quand je dis toutes les moyennes, c'est que je fais tourné le prog dans une boucle while qui demande l'entrée des notes tant que. Donc, plusieurs moyennes que je veux stocker et afficher en final. Je vais étudier ton code bien que je n'utilise pas encore très bien la fonction sizeof et les pointeurs. Je suis preneur si tu a une solution plus simple.
0
slt
alors ce que j'ai compris tu veux stoker les moyns dans le tableau et pas les notes
tu dois faire deux boucle l'une pour stoker les les nots et l'une pour stoker les moyns
int somme=0
for(int j=0;j<tab.length;j++){
for(int i=0;i<nbdenote;i++){
somme=somme+note;
}
tab[i]=somme;}
for(int i=0;i<tab.length;j++){
System.out.println(" " +tab[i]);
je pense que la meme chose en c
testes le
bonne chance
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > soso
7 mars 2009 à 10:04
Salut,
Ce n'est pas du C ça ;-).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 mars 2009 à 10:15
#define NB_NOTES 5
#define MAX 15

int tab[MAX];
double moy[MAX/NB_NOTES];

double sum=0;

for(int i=0;i<MAX;i++) {
     printf("notes : ");
     scanf("%d",tab+i);
     sum+=tab[i];
    
     //tous les NB_NOTES lues au clavier, on calcule leur moyenne
     if ( (i+1)%NB_NOTES == 0 ) {
          moy[ (i+1)/NB_NOTES - 1] ) = sum/NB_NOTES;
          sum=0;
     }
}

//affichage des moyennes
for(int i=0;i<NB_NOTES;i++)
      printf("%lf ",moy[i]);
0
sonic1ne Messages postés 8 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 15 mars 2009
7 mars 2009 à 16:17
Merci fiddy pour ton 2ieme code, c'est ce que je cherchais à faire (ton premier m'a fais bosser sur sizeof et les pointeurs, ce qui m'a permis d'avancer un peu dans mon apprentissage), et merci soso malgré que je n'ai pas compris la syntaxe de ton code.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 mars 2009 à 22:18
Normal, son code n'est pas du C mais du java.
0