Hola, necesito ayuda sobre trabajo con funciones... les comento...
Bueno, estoy intentado hacer un programita (
para muchos, seguro que es algo muy simple) donde se combinen diferentes llamamientos a funciones... básicamente el programa debe hacer lo siguiente:
1º Crear una matriz de rango [r][r+1] y un vector de rango.
2º Una función debe mostrar por pantalla el contenido del array matriz en función del orden de vector creado.
3º Otra Función debe permitir modificar el vector y devolverlo modificado.
4º Y otra función que devuelva una matriz, de entrada como parámetro, con sus valores modificados.
La estructura del mismo queda algo talque así..
int muestra_matriz(int r, double **matriz, int *V)
{
int i,j;
for (p = 0; p < r; p++)
{
for (l=0; l<r+1;l++)
{
cout << matriz[V[i]][j] << " | " ; /** MUESTRA EL VECTOR SEGÚN EL ORDEN DE FILAS EXISTENTE EN ARRAY "V"*/
}
cout <<endl;
}
}
###########
int modifica_vector (int *V,int r)
{
...algoritmo simple...
return [b]¿¿¿ cómo hago para que devuelve el vector modificado??[/b]
}
###########
int modifica_matriz(double **M, int r)
{
...algoritmo simple...
return [b]¿¿¿ cómo hago para que devuelve la matriz modificada??[/b]
}
/**************************************************************************************/
int main()
{
int r;
cout << "determinar rango de matriz";
cin >> r;
double matriz[r][r+1];
int Vec_filas [r];
... algoritmo para rellenar array matriz ...
... algoritmo para rellenar array vector...
muestra_matriz(r,matriz,Vec_filas); /* El complilador me dá error en esta línea: "cannot convert `double (*)[(((unsigned int)((int)r)) + 1u)]' to `double**' for argument `2' to `int muestra_matriz(int, double**, int*)' "*/
modifica_vector (Vec_filas,r); /* obtengo error similar al anterior*/
modifica_matriz(matriz,r); /* obtengo error similar al anterior*/
return 0;
}
Mis pregunta es: ¿cual es la forma correcta de emplear un arrary[][] y otro tipo vector como parámetros de una función? y ¿Cómo hacer para que una función devuelva un array del tipo que sea?
Un saludo y gracias....