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 :

Arranger un output dans des colonnes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Par défaut Arranger un output dans des colonnes
    bonjour,

    je voudrais arranger l'output d'un array dans 3 colonnes, question de lisibilite

    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
     
    # include <stdio.h>
    # include <time.h>
    #include <stdlib.h>
    # define ROWS 9
    # define COLS 3
     
    void print_matrix(int [ ] [ COLS ] );
     
    int main ( void )
    {
            int i, j, t ;
            int array[25];
            srand(time ( NULL ));
            for (i=0; i<25; i++)
            {       array [i] = rand () %100;
            //      printf("array [%d] = %d\n", i, array[i]);
            }
     
              for(i = 1; i < 25; ++i)
                    for(j = 24; j >= i; --j)
                     {
                            if(array[ j - 1] > array[ j ])
                             {
                                    t = array[ j - 1];
                                    array[ j - 1] = array[ j ];
                                    array[ j ] = t;
                            }
                     }
     
              for(t=0; t<25; t++)
              {
                    printf("%i. array[%i] = %d \n", t+1, t, array[t]);
              }
    return 0;
    }

    l'output :

    1. array[0] = 11
    2. array[1] = 13
    3. array[2] = 15
    4. array[3] = 15
    5. array[4] = 15
    6. array[5] = 17
    7. array[6] = 21
    8. array[7] = 32
    9. array[8] = 35
    10. array[9] = 40
    11. array[10] = 41
    12. array[11] = 41
    13. array[12] = 50
    14. array[13] = 55
    15. array[14] = 55
    16. array[15] = 56
    17. array[16] = 57
    18. array[17] = 61
    19. array[18] = 67
    20. array[19] = 67
    21. array[20] = 68
    22. array[21] = 77
    23. array[22] = 78
    24. array[23] = 78
    25. array[24] = 99


    comment faire en sort que ca soit de cette maniere

    1. array[0] = 11____10. array[9] = 40_____18. array[17] = 61
    2. array[1] = 13____11. array[10] = 41____19. array[18] = 67
    3. array[2] = 15____12. array[11] = 41____20. array[19] = 67
    4. array[3] = 15____13. array[12] = 50____21. array[20] = 68
    5. array[4] = 15____14. array[13] = 55____22. array[21] = 77
    6. array[5] = 17____15. array[14] = 55____23. array[22] = 78
    7. array[6] = 21____16. array[15] = 56____24. array[23] = 78
    8. array[7] = 32____17. array[16] = 57____25. array[24] = 99
    9. array[8] = 35


    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    moi je ferais comme ca
    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
    			# include <stdio.h>
    			# include <time.h>
    			#include <stdlib.h>
    			# define ROWS 9
    			# define COLS 3
     
    			void print_matrix(int [ ] [ COLS ] );
     
    			int main ( void )
    			{
    						  int i, j, t ;
    					  int array[25];
    					  srand(time ( NULL ));
    					  for (i=0; i<25; i++)
    					  {       array [i] = rand () %100;
    					  //      printf("array [%d] = %d\n", i, array[i]);
    					  }
     
    						 for(i = 1; i < 25; ++i)
    								 for(j = 24; j >= i; --j)
    								  {
    											if(array[ j - 1] > array[ j ])
    											 {
    													  t = array[ j - 1];
    													  array[ j - 1] = array[ j ];
    													  array[ j ] = t;
    											}
    								  }
     
    					for(i=0,t=0;i<ROWS-1;i++)
    					{				
    						for(j=0;j<COLS; j++)
    						{
    							printf("%i. array[%i] = %d    ", i+ROWS*j+1,i+ROWS*j, array[i+ROWS*j]);
    						}
    						printf("\n");
    					}
    					printf("%i. array[%i] = %d    ",ROWS,ROWS-1,array[ROWS-1]);
    			return 0;
    				}

  3. #3
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Par défaut
    merci pour votre reponse mais l'output est comme ca

    1. array[0] = 4
    10. array[9] = 43
    19. array[18] = 79

    2. array[1] = 6
    11. array[10] = 44
    20. array[19] = 81

    3. array[2] = 8
    12. array[11] = 51
    21. array[20] = 88

    4. array[3] = 11
    13. array[12] = 52
    22. array[21] = 88

    5. array[4] = 11
    14. array[13] = 57
    23. array[22] = 89

    6. array[5] = 24
    15. array[14] = 65
    24. array[23] = 91

    7. array[6] = 28
    16. array[15] = 67
    25. array[24] = 96

    8. array[7] = 30
    17. array[16] = 69
    26. array[25] = 66792

    9. array[8] = 38


  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    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
    # include <stdio.h>
    # include <time.h>
    #include <stdlib.h>
    # define ROWS 9
    # define COLS 3
     
    void print_matrix(int[][COLS]);
     
    int main(void)
    {
        int i, j, t;
        int array[25];
        srand(time(NULL));
        for (i = 0; i < 25; i++) {
    	array[i] = rand() % 100;
    	//      printf("array [%d] = %d\n", i, array[i]);
        }
     
        for (i = 1; i < 25; ++i)
    	for (j = 24; j >= i; --j) {
    	    if (array[j - 1] > array[j]) {
    		t = array[j - 1];
    		array[j - 1] = array[j];
    		array[j] = t;
    	    }
    	}
     
        for (i = 0, t = 0; i < ROWS - 1; i++) {
    	for (j = 0; j < COLS; j++) {
    	    printf("%i. array[%i] = %d    ", i + ROWS * j + 1,
    		   i + ROWS * j, array[i + ROWS * j]);
    	    fflush(stdout);
    	}
    	printf("\n");
        }
        printf("%i. array[%i] = %d    ", ROWS, ROWS - 1, array[ROWS - 1]);
        return 0;
    }

  5. #5
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Par défaut
    Merci

  6. #6
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Par défaut
    je crois que j'ai un blem la:

    voila l'output:

    1. array[0] = 2 10. array[9] = 45 19. array[18] = 78
    2. array[1] = 5 11. array[10] = 55 20. array[19] = 79
    3. array[2] = 13 12. array[11] = 56 21. array[20] = 83
    4. array[3] = 22 13. array[12] = 59 22. array[21] = 85
    5. array[4] = 24 14. array[13] = 63 23. array[22] = 88
    6. array[5] = 31 15. array[14] = 65 24. array[23] = 89
    7. array[6] = 34 16. array[15] = 67 25. array[24] = 91
    9. array[8] = 43


    si vous remarquez le 17eme et 18eme element de la liste s'est envole je ne sais ou

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/11/2010, 13h46
  2. calcul dans des colonnes
    Par mgrizzly dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/03/2010, 18h25
  3. Réponses: 8
    Dernier message: 16/09/2008, 16h56
  4. Compter des valeurs dans des colonnes
    Par DPhBxl dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/04/2007, 17h01
  5. Réponses: 15
    Dernier message: 22/07/2005, 09h49

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