| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Rozo Invitado
|
Publicado: Mie 24 Mar, 2004 1:59 am Asunto: Funcion q devuelva un arreglo |
|
|
| Necesito saber como hacer una funcion q reciba como parametros arreglos, los manipule, y luego la funcion retorne un arreglo. gracias |
|
| Volver arriba |
|
 |
el drogis Lt JG


Registrado: 02 Dic 2003Mensajes: 64Ubicación: Tornavacas (Caceres)
|
Publicado: Mie 24 Mar, 2004 2:07 am Asunto: |
|
|
| Si con arreglos te refieres a listas, vectores, arboles, etc, la opcion que yo utilizo es pasar un puntero a ese arreglo por parametro. De esta manera le pasas al procedimiento la estructura a la que apunte y la puedes modificar todo lo que te apetezca. |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Mie 24 Mar, 2004 4:03 pm Asunto: |
|
|
Hola.
Si por ejemplo el arreglo que tú dices es un vector de enteros, un esquema de la función sería el siguiente:
| Código: | int *AlCuadrado(int *v,int n){
int i,*resultado;
resultado=new int[n];
for(i=0;i<n;i++)
resultado[i]=v[i]*v[i];
return resultado;
} |
Espero que te sirva. Si no es esto, explícate un poco más.
Un saludo. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
el drogis Lt JG


Registrado: 02 Dic 2003Mensajes: 64Ubicación: Tornavacas (Caceres)
|
Publicado: Jue 25 Mar, 2004 1:51 am Asunto: |
|
|
Simplemente lo que tienes que hacer es modificar directamente el vector de entrada, no hace fata que devuelvas el resultado del vector con return, simplemente modificalo y luego, en la linea de codigo donde llames a esa funcion, a partir de esa linea el valor de ese vector estara actualizado, ya que al pasar el puntero, "digamos" que lo pasas como una variable de entrada salida.
Si tienes alguna duda mas preguntala |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 25 Mar, 2004 5:15 pm Asunto: |
|
|
simplemente pasas el arreglo por referencia y no necesitas devolverlo con un return ejemplo:
//vector de enteros
vector <int> Arreglo;
......
//llamada a funcion donde se va a manipular el arreglo
FuncionCualquiera(Arreglo);
//declaracion de la Funcion
FuncionCualquiera(vector <int> &Arreglo)
{
//manipulacion del arreglo
} |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Sab 27 Mar, 2004 11:26 am Asunto: |
|
|
Hola. Rozo dijo: | Cita: | | Necesito saber como hacer una funcion q reciba como parametros arreglos, los manipule, y luego la funcion retorne un arreglo. gracias |
Como dijo que la función debería devolver un vector eso es lo que le he indicado. Si manipulas el propio vector y quieres que te guarde los cambios, evidentemenete, lo tienes que pasar por referencia. Yo personalmente me apunto a los punteros, porque te olvidas del paso de parámetros por referencia o valor, y la programación es más limpia.
Un saludo y buen fin de semana.
P.D.: el último invitado debería haberse leído la pregunta con un poquillo más de atención. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
|