Ver Mensaje Individual
  #15 (permalink)  
Antiguo 05/01/2007, 12:05
Avatar de TolaWare
TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Re: Error en declaración de funcion

Cita:
Iniciado por _Lucifer_ Ver Mensaje
Código:
double a[3][3],b[3][3];
copiar(a,b,3);
Claro como dijo MaxExtreme:


Asi que no te lo acepta el momento de invocar la fucion.



Que te hizo pensar que no funcionaria, el codigo esta perfecto, pro imagino que la idea es hacerlo mas general, ¿no?

Algo asi:
Código:
double **a;
a = new double *[n];
for(int i=0;i<n;i++)
     a[i] = new double[n];
// lo mismo para b
copiar(a,b,n);
Porque si solo vas a usar matrices de 3x3 entonces no tienes por que usar punteros. Aunque imagino qu el aprendizaje que te quedo de esto es mas valioso.

Acuerdate de liberar la memoria que reservaste con el operador new

Saludos
Lo que pasa es que en el programa, el tamaño de las matrices es variable, en el ejemplo puse un nro fijo, pero en ese mismo codigo se puede usar una variable, es decir:

int cant = 9;
double **a;
a = new double[cant];
........


este código en una declaración normal de arrays, no compila, la expresión new double[] nos permite crear arrays de la dimension que queramos darle (en tiempo de ejecución), y eso era lo que necesitaba.