Récupérer variable dans tableau

Résolu
sonic1ne Messages postés 8 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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 ?
Configuration: Linux
Mozilla 1.9.0.6

4 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  2. sonic1ne Messages postés 8 Statut Membre
     
    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
    1. soso
       
      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
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > soso
         
        Salut,
        Ce n'est pas du C ça ;-).
        0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    #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
  4. sonic1ne Messages postés 8 Statut Membre
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Normal, son code n'est pas du C mais du java.
      0