Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda Matrices C++ !

Estas en el tema de Ayuda Matrices C++ ! en el foro de C/C++ en Foros del Web. Hola, tengo que hacer un programa en C++ y la verdad es que ando perdido con el tema de las matrices. Tengo que pasar un ...
  #1 (permalink)  
Antiguo 19/10/2008, 13:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Ayuda Matrices C++ !

Hola,

tengo que hacer un programa en C++ y la verdad es que ando perdido con el tema de las matrices. Tengo que pasar un programa hecho en matlab a C++, y claro este último el tema de las matrices y arrays parece que es bastante chungo.

Os dejo aqui mi consulta por si alguien pudiera ayudarme. Muchisimas gracias.

Basicamente el problema es que quiero declarar una variable global que sea una matriz de double, pero no se el tamaño ni el contenido de la misma, pues se calcula cuando llamo a una funcion. La idea seria algo asi:


#include <math.h>
#include "matrix.h"
#include "mex.h"
...

double K[][];
void etapsvmSMO();
..


void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){
...
...
}

void etapsvmSMO(){

K = gaussiankernel(...);

}


Y esa es la historia, no se como hacer para no tener que indicar el tamaño del array al declararlo, ya que no lo sé, depende de cuando llame a gaussiankernel(...)... alguna idea?

graciassss,fer.
  #2 (permalink)  
Antiguo 19/10/2008, 14:22
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Ayuda Matrices C++ !

Yo declararia dos variables que serian MaxFila MaxColumna tambien globales, y declararia la matriz como Matriz[MaxFila][MaxColumna].
  #3 (permalink)  
Antiguo 19/10/2008, 14:51
Avatar de punk_not_dead  
Fecha de Ingreso: octubre-2008
Ubicación: Zantiasko
Mensajes: 24
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ayuda Matrices C++ !

Ecsacto... ejemplo acá tienes la tabla de pitagoras para que le eches un vistazo

#include <stdio.h>



int main(){

int i, j, pita[10][10];

for (i=1; i<=10; i++){

for(j=1; j<=10; j++){

printf("\t%d",pita[i][j]=i*j);

}

printf("\n");

}

getchar();

getchar();

return 0;

}
  #4 (permalink)  
Antiguo 20/10/2008, 07:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Ayuda Matrices C++ !

Sin duda lo mejor es utilizar una matriz armada con vectores STL. No se si conoces o como andas de tiempo, pero vale la pena frenarse unos minutos en aprender stl porque te soluciona muchisimas cosas.

Declaracion (sin definirle tamaño):
vector< vector<double> > matrizDoubles; //va con los espacios tal cual, sino no anda

Luego, agregas los elementos al vector usando las funciones dadas:

vec.push_back(2.3);


y manejas la matriz de una manera muy flexible.


Cualquier duda sobre stl no dudes en consultarme, si necesitas ejemplos, pedazos de codigo, o lo que fuere.. chifle que estoy!

Saludos





info stl vector -> http://www.cplusplus.com/reference/stl/vector/
  #5 (permalink)  
Antiguo 31/01/2009, 11:45
 
Fecha de Ingreso: mayo-2005
Mensajes: 6
Antigüedad: 19 años
Puntos: 0
Respuesta: Ayuda Matrices C++ !

y como se accede a las columnas de la matriz.
y para darle tamaño a las filas...
no entiendo, un poco mas en detalle el acceso porfaplis :)
  #6 (permalink)  
Antiguo 03/02/2009, 22:11
Avatar de MeduZaPaT  
Fecha de Ingreso: enero-2009
Ubicación: USA
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Ayuda Matrices C++ !

eso que estas haciendo es C, seria mejor que usaras Vectores de C++ o LIST si te parece mejor, y algunos encabezados en C++ no llevan .h
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:46.