Matrice en langage c

Bonjour a tous !!
je dois remplir une matrice d'une maniére un peu delicate :
j'ai le nbr de colones et de lignes , mé je dois remplir de façon que chaque colonne code son numero en binaire !!!
en gros la matrice ne contiendra que des 1 et des 0 ...
si nbr colonne =5
et nbr ligne = 3
la matrice serait comme suit :

1 0 1 0 1
0 1 1 0 0
0 0 0 1 1

AIDEZ MOI SVP !!

je vous attend !!!
Configuration: Windows XP
Firefox 2.0.0.9

3 réponses

  1. Bonjour,

    Voici une version sans math.h

    #include <stdio.h>
    
    #define N_LINES 3
    #define N_COLUMNS 5
    
    int main()
    {
    	unsigned int iLine;
    	unsigned int iColumn;
    
    	unsigned int matrice[N_LINES][N_COLUMNS];
    
    	// Initialisation
    	for ( iColumn = 0 ; iColumn < N_COLUMNS ; iColumn++ )
    	{
    		for ( iLine = 0; iLine < N_LINES ; iLine++ ) 
    		{
    			matrice[iLine][iColumn] = ((iColumn+1) >> iLine) & 1;
    		}
    	}
    
    	// Affichage
    	for ( unsigned int iLine = 0; iLine < N_LINES ; iLine++ ) 
    	{
    		for ( unsigned int iColumn = 0 ; iColumn < N_COLUMNS ; iColumn++ )
    		{
    			printf("%d ", matrice[iLine][iColumn]);
    		}
    		printf("\n");
    	}
    }
    


    matrice[iLine][iColumn] = ((iColumn+1) >> iLine) & 1;

    On ramène le bit du numéro de la colonne au rang de bit de poids faible via un décallage à droite, on supprime les autres bits avec un Et binaire.
    Pas besoin d'une librairie mathématique pour des opérations que tout processeur sait faire de base. (ou presque)

    M.
    1. Pas besoin d'une librairie mathématique pour des opérations que tout processeur sait faire de base. (ou presque)

      Tu as raison ;-)

      Ca doit faire 10 ans que je suis sorti de la fac et tout cela est loin derrière moi, je n'ai pas été très finaud sur ce coup-là.
      Ca doit faire tout autant de temps que je n'avais pas fait de C... maintenant plutôt du Perl ou du PHP (voire du OpenOffice.org... :-)

      Raph