Matriz en lenguaje C
¡Hola a todos!
Debo llenar una matriz de una manera un poco delicada:
tengo el número de columnas y de filas, pero debo llenarla de manera que cada columna codifique su número en binario.
En resumen, la matriz solo contendrá 1 y 0...
si el número de columnas = 5
y el número de filas = 3
la matriz sería así:
1 0 1 0 1
0 1 1 0 0
0 0 0 1 1
¡AYÚDENME, POR FAVOR!
¡Los espero!
Debo llenar una matriz de una manera un poco delicada:
tengo el número de columnas y de filas, pero debo llenarla de manera que cada columna codifique su número en binario.
En resumen, la matriz solo contendrá 1 y 0...
si el número de columnas = 5
y el número de filas = 3
la matriz sería así:
1 0 1 0 1
0 1 1 0 0
0 0 0 1 1
¡AYÚDENME, POR FAVOR!
¡Los espero!
Configuración: Windows XP Firefox 2.0.0.9
3 respuestas
-
Hola,
Aquí hay una versión sin math.h
#include <stdio.h> #define N_LINES 3 #define N_COLUMNS 5 int main() { unsigned int iLine; unsigned int iColumn; unsigned int matriz[N_LINES][N_COLUMNS]; // Inicialización for ( iColumn = 0 ; iColumn < N_COLUMNS ; iColumn++ ) { for ( iLine = 0; iLine < N_LINES ; iLine++ ) { matriz[iLine][iColumn] = ((iColumn+1) >> iLine) & 1; } } // Visualización for ( unsigned int iLine = 0; iLine < N_LINES ; iLine++ ) { for ( unsigned int iColumn = 0 ; iColumn < N_COLUMNS ; iColumn++ ) { printf("%d ", matriz[iLine][iColumn]); } printf("\n"); } }
matriz[iLine][iColumn] = ((iColumn+1) >> iLine) & 1;
Se lleva el bit del número de la columna al rango del bit de peso bajo mediante un desplazamiento a la derecha, se eliminan los otros bits con un Y binario.
No se necesita una biblioteca matemática para operaciones que casi cualquier procesador puede realizar de forma básica.
M.-
No es necesario una biblioteca matemática para operaciones que cualquier procesador puede hacer de base. (o casi)
Tienes razón ;-)
Debe hacer 10 años que salí de la universidad y todo eso queda lejos de mí, no fui muy astuto en este caso.
Debe hacer igual de tiempo que no programo en C... ahora uso más Perl o PHP (incluso OpenOffice.org... :-)
Raph
-