Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Matriz a una funcion recursiva

Estas en el tema de Matriz a una funcion recursiva en el foro de C/C++ en Foros del Web. Hola bueno mi problema es lo siguiente tengo una matriz de 3 dimensiones y tuve que crearla en forma dinamica int *** matriz con la ...
  #1 (permalink)  
Antiguo 09/07/2008, 22:36
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Matriz a una funcion recursiva

Hola bueno mi problema es lo siguiente

tengo una matriz de 3 dimensiones y tuve que crearla en forma dinamica

int *** matriz
con la funcion malloc pedi el espacio.

Bueno pero mi problema es como puedo pasar la matriz a una funcion "PERO" dentro de esta funcion modificar la matriz ( mi intension es hacer la funcion recursiva) pero que si me devuelvo tener la matriz original ( ambito de las variables)


asi como por ejemplo

int a =3;

printf (a) //me imprime 3
funcionmodifica(a);//la funcion imprime el 5
printf(a) // me imprime 3

void funcionmodifica (int a){
a=5;
printf(a) //me imprime 5
}

ojala que se entienda (necesito si me devuelvo la matriz anterior)

Gracias

PD: esto en C
  #2 (permalink)  
Antiguo 10/07/2008, 08:04
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Respuesta: Matriz a una funcion recursiva

Así como ara arreglar el problema en el ejemplo que pusiste debes agregar un "*" en el encabezado de la función debes agregarlo en el encabezado de la función a la que le pasas el arreglo multidimensional (¿seguro que lo necesitas así?) y el resto de las modificaciones pertinentes.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #3 (permalink)  
Antiguo 10/07/2008, 10:02
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Matriz a una funcion recursiva

el ejemp`lo del entero es ams vien para decir que si modifico la matriz dentro de la funcion no se vea afectada la matriz en donde se llama a las funcion , es decir,


int*** matriz

//se hace el malloc para pedir memoria dinamicamente
matriz[3][3][3]= 5;
printf(matrizX[3][3][3]);//imprime 5
funcionModificadora(matriz);
printf(matrizX[3][3][3]);//imprime 5



void funcionModificadora(int *** matrizX){
matrizX[3][3][3]= 7;
printf(matrizX[3][3][3]);//imprime 7
}


'pero con ese tipo de definicion me imprimer

5
7
7

ojala ahi se entienda, es como definir la funcion si algun tipo de & o algo asi para q la variable matriz solamente quede en el ambito de la funcion y no uno total ( es como para hacer un backtracking hasta encontrar algun tipo de solucion a lo que busco).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.