Dev - C++ - matrices dinamicas

 
Vista:

matrices dinamicas

Publicado por Ignacio (2 intervenciones) el 07/04/2002 12:13:29
Hola necesito hacer un programa para operar matrices haciendo dinamica la memoria (malloc, new).

ya lo tengo, solo que lo necesito hacer estructurado, con funciones, y tengo problemas al recibir, en las funciones, y devolver los apuntadores dobles.
quisiera que me ayuden porque tengo el tiempo ecima, se los agradeceria mucho.
GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:matrices dinamicas

Publicado por chuidiang (17 intervenciones) el 30/04/2002 19:50:44
Para recibir los arrays únicamente debes poner dos asteriscos y pasar las dimensiones m y n

funcion (int **array, int m, int n);

Si dentro de la función reservas la memoria del array y quieres devolverla hacia afuera, tienes que poner un asterisco más

funcion (int ***array_devuelto, int *m, int *n);

Ten en cuenta, por ejemplo, con un puntero sencillo, pasa lo siguiente

int *a;
funcion (a);

void funcion(int *b)
{
b = new int[10]; // esto no funciona
}

en el momento de llamar a la funcion, a y b apuntan al mismo sitio, pero son punteros distintos. En el momento que haces que b apunte a otro lado, NO lo hace a, con lo cual, desde a, no puedes "ver" la memoria reservada dentro de la función.

Para que ese ejemplo funcione, deberías poner

int *a;
funcion (&a); // pasas la direccion de a

funcion (int **b)
{
*b = new int[10];
}

De esta forma, b es un puntero que apunta al puntero a, y *b es lo mismo que a. Cuando asignas *b, en realidad estas cambiando a y
la memoria la puedes ver desde fuera de la función.

Con arrays de dos dimensiones es lo mismo, pero todo con un asterisco mas.

Para evitar el cacao de asteriscos y dejar el codigo mas claro tienes dos
opciones:
1. declarar un tipo que sea el puntero
typedef int * Puntero_Int;
el array quedaria como
Puntero_Int *Array;
o incluso
typedef int ** Tipo_Matriz;

2. Hacer las matrices con una sola dimension de tamaño MxN (como si alinearas todas las filas en una sola) y
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:matrices dinamicas

Publicado por erick (1 intervención) el 21/10/2003 20:59:45
hacer un programa que lea las dimenciones de una matriz y visualize la matriz y a cintinuacion que encuentre el mayor y el menorelemento de la matriz y sus posiciones porfabor enviarlo el dia de hoy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:matrices dinamicas

Publicado por Norma bonilla (1 intervención) el 13/11/2008 02:38:53
matriz (ERIC)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar