IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Ranger des résultats dans un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Par défaut Ranger des résultats dans un tableau
    Bonjour,

    La question peut sembler anodine pour certains, mais je ne parviens pas à trouver la bonne syntaxe pour résoudre ce problème dc j'espère que vous pourrez m'aider !

    Voilà, dans un programme j'ai besoin de calculer les moyennes de chacune des lignes d'un tableau d'entiers. (Je ne cherche pas à avoir la valeur exacte de cette dernière mais une valeur entière pour la suite, d'ou le "int moyenne").
    J'aimerais par la suite ranger ces valeurs calculées dans un nouveau tableau "means[]". Et c'est là que se pose mon problème car en affichant "means" je n'obtiens pas l'ensemble des moyennes comme je le souhaiterais.

    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
     
     
    /**************************Variables globales****************************/
     
    int main(int argc, char* argv[])
     
     
        //--------------------------------------------------
        // Traitement(s)
        //--------------------------------------------------
     
     
    {
         int x, y;
         int tab[4][5] = {{12, 16, 18, 19, 22}, {1, 2, 3, 6, 5}, {71, 82 ,72 ,62 ,52 }, {210, 220 ,200 ,216 ,187 }};
         int moyenne = 0;
         int sommeTotale = 0;
         int means[4] = {};
     
    	for( x=0; x<4; x++ )
    	{
    		sommeTotale = 0; 
     
    		for( y=0; y<5; y++ )
    		{
     
    			// Calcul de la somme de chaque ligne de tab[x][y]
    			sommeTotale = sommeTotale + tab[x][y]; 
     
    		}
     
    		printf( "\n Somme de la ligne : %d", sommeTotale );	
     
    		// Calcul des moyennes de chaque ligne de tab[x][y]
    		moyenne = sommeTotale / 5;
    		printf("\n Moyenne des valeurs de la ligne : %d", moyenne);	
     
    		// Envoie du résultat calculé dans means[x]
    		means[x] = moyenne ;
     
    	     printf("\n Tableau de moyennes/centres des classes : %d", means[x]);
     
    	}
     
         printf( "\n----------[ FIN DU PROGRAMME ]----------\n" );
     
        return 0;
    }
     
    /************************************************************************/
    /************************************************************************/
    Et Voici ce que m'affiche la commande :

    Somme de la ligne : 87
    Moyenne des valeurs de la ligne : 17
    Somme de la ligne : 17
    Moyenne des valeurs de la ligne : 3
    Somme de la ligne : 339
    Moyenne des valeurs de la ligne : 67
    Somme de la ligne : 1033
    Moyenne des valeurs de la ligne : 206
    Tableau de moyennes/centres des classes : 206
    ----------[ FIN DU PROGRAMME ]----------

    A la place d'avoir "Tableau de moyennes/centres des classes : 206", j'aimerais que means garde les valeurs de l'ensemble des moyennes et les affiche dans une ligne.

    Je vous remercie par avance pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 42
    Par défaut Salut
    Ton algo est juste ,

    sort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("\n Tableau de moyennes/centres des classes : %d", means[x]);
    de la boucle for()

    et fait une troisieme boucle , hors des deux premieres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i = 0; i<4;i++)
    printf("\n Tableau de moyennes/centres des classes : %d \t ", means[x] );

  3. #3
    Membre actif
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 42
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
     
     
     
    #define TAB_X 4 
    #define TAB_Y 5 
    #define TAB_MOYENNE TAB_X 
     
    int main(int argc, char* argv[])
     
     
        //--------------------------------------------------
        // Traitement(s)
        //--------------------------------------------------
     
     
    {
    	int i = 0; 
         int x, y;
         int tab[TAB_X][TAB_Y] = {{12, 16, 18, 19, 22}, {1, 2, 3, 6, 5}, {71, 82 ,72 ,62 ,52 }, {210, 220 ,200 ,216 ,187 }};
         int moyenne = 0;
         int sommeTotale = 0;
         int means[TAB_MOYENNE] = {0,0,0,0};
     
    	for( x=0; x<TAB_X; x++ )
    	{
    		sommeTotale = 0; 
     
    		for( y=0; y<TAB_Y; y++ )
    		{
     
    			// Calcul de la somme de chaque ligne de tab[x][y]
    			sommeTotale = sommeTotale + tab[x][y]; 
     
    		}
     
    		printf( "\n Somme de la ligne : %d", sommeTotale );	
     
    		// Calcul des moyennes de chaque ligne de tab[x][y]
    		moyenne = sommeTotale / 5;
    		printf("\n Moyenne des valeurs de la ligne : %d", moyenne);	
     
    		// Envoie du résultat calculé dans means[x]
    		means[x] = moyenne ;
     
    	}
     
     
         printf(" \n Tableau de moyennes/centres des classes : ");
         for(i = 0; i<TAB_MOYENNE;i++)
              printf(" %d \t ", means[i] );
     
         printf( "\n----------[ FIN DU PROGRAMME ]----------\n" );
     
         getchar();
        return 0;
    }
    c'est plus précis ainsi .

    pourquoi les #define, imagine que l'envie te prenne de modifier la grandeur de tes tableaux, il te faudra le faire dans tout le code (avec le danger d'en oublier un ou deux), avec les define, tu n'auras qu'à modifier à un seul endroit, et ajouter les valeurs à la définition des variables.

    le getchar() . c'est pour demander une touche du clavier avant que le programme ne se termine.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Par défaut
    Je te remercie pour ton aide et pour les améliorations qui tu as effectuées notamment le #define qui sera bien utile en effet !

    J'étais pas bien loin mais je ne parvenais pas à voir ce qui clochait dans mon code, grâce à toi c'est chose faite ! Encore merci donc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/09/2014, 09h12
  2. Ranger des données dans un tableau
    Par zmatz dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/06/2007, 18h07
  3. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  4. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo