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 !!!
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
-
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.-
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
-