Página 1 de 1
Fórmula para acceder a matriz bidimensional dinámica
Publicado: 16 Jul 2014, 00:53
por Pino1952
Hola gente.
Estoy renegando desde hace día y medio tratando de sacar la fórmula para acceder a una matriz bidimensional dinámica y tuve que hacer mi propia formula (lo de propia desconozco si es lo correcto) lo que necesito consultarles es: ¿ es correcta lo que estoy haciendo? y si no es así ¿me podrían poner un ejemplo de cómo hacerlo?.-
Realice unas cuantas practicas con tablas de diferente cantidad filas y columnas y parece no fallar, sólo quería estar seguro.-
Sólo como complemento:
Desde ya muchas gracias por el tiempo.-
Saludos.
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 16 Jul 2014, 15:40
por Pink
mira este ejemplo de google:
int *arreglo;
int k, int filas, int columnas,i,j;
arreglo = (int*) malloc(filas*columnas*sizeof(int));
for(i=0;i<filas;i++) {
for(j=0;j<columnas;j++) {
arreglo[k] = i*columnas + j;
}
}
En C leí hace tiempo que no es necesario lo que esta en negrita. arreglo =
(int*) malloc(filas*columnas*sizeof(int));
También es bueno inicializar los punteros con NULL.
Saludos
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 16 Jul 2014, 21:59
por Pino1952
Hola tocayo.
Gracias por el ejemplo, no sabía que poner en google para hallar un código que me sirviera como guía, dejo un programita, no está ni siquiera a medias pero como ejemplo sirve.-
Código: Seleccionar todo
#include <stdio.h>
#include <stdlib.h>
int main(void){
int *arreglo=NULL;
int k=0, filas=3, columnas=5,i=0,j=0;
arreglo = malloc(filas*columnas*sizeof(int));
printf("\n La tabla o vector es de %d filas x %d columnas\n", filas, columnas);
for(i=0; i<filas; i++){
for(j=0; j<columnas; j++){
k = i*columnas + j;
printf("\n Ingrece dato (fila %d -- columna %d)....:", i+1, j+1);
scanf("%d", &arreglo[k]);
}
printf("\n");
}
k=0;
for(i=0; i<filas; i++){
for(j=0; j<columnas; j++){
printf(" %3d", arreglo[k]);
k++;
}
printf("\n");
}
printf("\n\n");
return 0;
}
//Indice = Fila*Numero de columnas + Columna
Saludos.
Daniel
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 16 Jul 2014, 22:24
por Pink
Te falta liberar la memoria. mira:
[Enlace externo eliminado para invitados]
[Enlace externo eliminado para invitados]
Saludos bro
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 16 Jul 2014, 22:41
por Pino1952
Hola tocayo.
Graso error el mío, como lo aclare al principio todavía no llegue al capítulo asignación dinámica de memoria, viene luego del que estoy ahora, apuntadores.-
Saludos.
Daniel
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 17 Jul 2014, 20:44
por Pino1952
Hola Daniel.
Espero que pronto te pongas a leer sobre C, así no tengo que dar tantas vueltas para encontrar respuestas(un poco egoísta el tipo).-
Saludos.
Daniel
Re: Fórmula para acceder a matriz bidimensional dinámica
Publicado: 17 Jul 2014, 21:19
por Pink
siempre que tengo tiempo leo.
Saludos bro