Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: davidrodribarri en 18 Febrero 2017, 16:03 pm



Título: Funcion que devuelva un array
Publicado por: davidrodribarri en 18 Febrero 2017, 16:03 pm
Hola a todos, a ver si alguno me puede ayudar.

Tengo un programa muy sencillo en C++ que solo consta de una fucion que crea una serie numerica en un array y la muestra en pantalla y el main con la llamda a la funcion

Cuando hago la llamada desde el main la funcion  muestra correctamente la serie. Ahora me gustaria que la funcion fuese capaz de devolver esa serie guardada en un array.

Mi funcion tiene esta pinta:
int fibo(int n)        //siendo n el numero de numeros de la serie.
{
.................................
}
Y la serie que genera y luego se muestra esta definida como
int fibo[n]

Como hago para que el array fibo[] sea devuelto al main?

Un saludo y gracias


Título: Re: Funcion que devuelva un array
Publicado por: MAFUS en 18 Febrero 2017, 21:22 pm
Mediante algo así:

int f (int **array);

La función,  al llamarla, recibira la dirección de u  puntero a entero y esta se encargará de crear un array dinámico y llenarlo. La dirección de este array será copiada en el puntero de llamada. El tamaño del array, el número de elementos, será dado por el dato de retorno de la función.


Título: Re: Funcion que devuelva un array
Publicado por: davidrodribarri en 19 Febrero 2017, 09:49 am
Pdrías ayudarme a incluirla? El programa un poco mas detallado es:

Código
  1. //Funcion serie Fibonacci  0 1 1 2 3 5 8 13 21 ...
  2.  
  3. int fibo (int elmentos);
  4.  
  5. int main(){
  6.    int N;              //Numero de elementos de la funcion
  7.    string a;
  8.    cout<<"Introduce el numero de elementos de la sucesión de Fibonacci: ";
  9.    cin>>N;
  10.  
  11.    fibo(N);       //Muestra en pantalla la serie con N elementos
  12.  
  13.  
  14. // [b]aqui me gustaria tener la serie en un array[/b]
  15.  
  16.    return 0;
  17.    }
  18.  
  19. int fibo (int elementos){
  20.  
  21. //Aqui estaria el programa que genera sa serie ydespues la mostramos
  22.  
  23.  
  24.    cout<<endl;
  25.    for (int j=0; j<elementos; j++){        //Muestra la serie
  26.      cout<<fibo[j]<<" ";                     // [b]Esta es la serie que quiero que pase al main
  27.    [/b]}
  28.  
  29.    return ¿?;           //Return la serie, please!!
  30.    }
********************************************************************
Se que no puedo devorver tal cual el vector, pero podrías indicarme como devovler un puntero que apunte al vector de forma que el vestor esté disponible en el main?

Un saludo.





· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex