Como se devuelve un array en una funcion?

Spady
16 de Enero del 2005
Tengo que hacer una funcion que devuelve un array, y no se como se hace, no se como tengo que hacerlo para que la funcion me devuelva un array de enteros,es necesario que lo devuelva porque es una funcion recursiva y lo necesita para volver a invocarse con el nuevo array.MUCHAS GRACIAS!!

arkahe
16 de Enero del 2005
tienes ke haerlo con punteros...
oye pero esta refacilll..!!!!

spady
16 de Enero del 2005
Te pongo el codigo, no hagas caso del programa solo mira como declaro las variables y como devuelvo el array.Me compila bien pero luego no me retorna bien el array. Me puedes ayudar?MUCHAS GRACIAS POT RU RESPUESTA !!

CODIGO DE LA FUNCION:

int* Producte_Polinomis_DiV(int a[MAX],int b[MAX],int n)
{

int s,i;
int *R,*P,*SUMA;
int A1[MAX],B1[MAX],C1[MAX],D1[MAX],RESULT[MAX];
int DIF_A1_B1[MAX],DIF_C1_D1[MAX];
s=n/2;

R=new int[MAX];
SUMA=new int[MAX];
P=new int[MAX];


for(i=0;i<MAX;i++)
{
RESULT[i]=0;
}
if(n==1)
{

RESULT[0]=a[0]*b[0];
return(RESULT);
}


s=n/2;

//PARTIM LES TAULES

for(i=0;i<s;i++) //TAULA A1 i C1
{
A1[i]=a[i];
C1[i]=b[i];
}



for(i=s;i<n;i++) //TAULA B1 i D1
{
B1[i-s]=a[i];
D1[i-s]=b[i];
}


for(i=0;i<s;i++) //RESTA A1-B1
{
DIF_A1_B1[i]=A1[i]-B1[i];
}

for(i=0;i<s;i++) //RESTA C1-D1
{
DIF_C1_D1[i]=C1[i]-D1[i];
}

SUMA=Producte_Polinomis_DiV(DIF_A1_B1,DIF_C1_D1,s);
R=Producte_Polinomis_DiV(A1,C1,s);
P=Producte_Polinomis_DiV(B1,D1,s);

for(i=0;i<n-1;i++)
{
RESULT[i]=R[i];
R[n-1]=0;
}

for(i=0;i<n-1;i++)
{
RESULT[n+1]=P[i];
}

for(i=0;i<n-1;i++)
{
RESULT[s+i]=RESULT[s+i]+(SUMA[i]-(R[i]+P[i]));
}
cout<<endl;
for(i=0;i<n;i++)
{
cout<<RESULT[i]<<" ";
}

return(RESULT);


}