Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/06/2012, 01:34
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: error en tipo de datos matriz c++

Hola! nose mucho de C++, pero tenes algunos errores
1º tenes problemas de punteros. Esto *at significa indireccion, osea "lo apuntado de at", es lo mismo hacer at[i].
2º usas nfa y nca, pero a esas variables nunca le diste un valor. Por lo que entiendo del codigo tendria que ser n y m, osea nfa=m y nca=n // si es q n son filas y m columnas de double **a

Si queres hacer matrices dinamicas debe ser:
Código C:
Ver original
  1. double **trans(double **a, unsigned n, unsigned m) {
  2.     double nfa,nca; double **at;
  3. at=new double *[nfa];
  4.     for(double i=0;i<m;i++)
  5.         at[i]=new double [nca];
  6.     for(double j=0;j<n;j++){
  7.         for(double k=0;k<m;k++)
  8.             at[k][j]=a[j][k];
  9.     }
  10.         return at;
  11. }
fijate lo que retorno y lo que devuelve la funcion. Retorno at que es un puntero a puntero a double, por lo tanto la funcion debe devolver lo mismo.. Sino qdo muy claro el tema de la matriz dinamica, mira aca:
http://c.conclase.net/curso/?cap=013b


Saludos