Problema con lectura/escritura de matrices
Publicado por Jose (3 intervenciones) el 05/01/2012 12:07:41
Hola, estoy haciendo unos programas de matrices y tengo ya problemas con funciones básicas como leer y escribir. Mi código es este:
const int NCOLUMNAS=100;
const int NFILAS=100;
int main()
{
int numeroColumnas;
int numeroFilas;
int M[NFILAS][NCOLUMNAS];
leerDatos(&numeroFilas, &numeroColumnas,M);
imprimirDatos(numeroFilas,numeroColumnas,M);
}
void leerDatos(int *numeroF, int *numeroC, int matriz[][NCOLUMNAS]){
int i=0;
int j=0;
scanf("%d",numeroF);
scanf("%d",numeroC);
for (i=0;i<*numeroF;i++){
for (j=0;j<*numeroC;j++){
scanf("%d",&matriz[i][j]);
}
}
}
void imprimirDatos(int numeroF, int numeroC, int matriz[][NCOLUMNAS]){
int i=0;
int j=0;
for (i=0;i<numeroF;i++){
printf("\n");
for (j=0;j<numeroC;j++){
printf(" %d",&matriz[i][j]);
}
}
}
En la facultad me han dicho que tenemos que poner lo de NCOLUMNAS en las funciones para que la matriz sepa donde buscar (o algo así...), pero resulta que el programa va bien, es decir, lee las matrices, pero escribe unos numeros muy raros...llevo ya 2 horas intentando solucionarlo y nada. Espero me puedan echar una mano. Gracias.
const int NCOLUMNAS=100;
const int NFILAS=100;
int main()
{
int numeroColumnas;
int numeroFilas;
int M[NFILAS][NCOLUMNAS];
leerDatos(&numeroFilas, &numeroColumnas,M);
imprimirDatos(numeroFilas,numeroColumnas,M);
}
void leerDatos(int *numeroF, int *numeroC, int matriz[][NCOLUMNAS]){
int i=0;
int j=0;
scanf("%d",numeroF);
scanf("%d",numeroC);
for (i=0;i<*numeroF;i++){
for (j=0;j<*numeroC;j++){
scanf("%d",&matriz[i][j]);
}
}
}
void imprimirDatos(int numeroF, int numeroC, int matriz[][NCOLUMNAS]){
int i=0;
int j=0;
for (i=0;i<numeroF;i++){
printf("\n");
for (j=0;j<numeroC;j++){
printf(" %d",&matriz[i][j]);
}
}
}
En la facultad me han dicho que tenemos que poner lo de NCOLUMNAS en las funciones para que la matriz sepa donde buscar (o algo así...), pero resulta que el programa va bien, es decir, lee las matrices, pero escribe unos numeros muy raros...llevo ya 2 horas intentando solucionarlo y nada. Espero me puedan echar una mano. Gracias.
Valora esta pregunta


0