Foros del Web » Programación para mayores de 30 ;) » Programación General »

Matrices en C/C++ ??

Estas en el tema de Matrices en C/C++ ?? en el foro de Programación General en Foros del Web. Hola, estoy haciendo un programita que multiplica dos matrices cuadradas. La unica pega que tengo es que no se como puedo definir dos matrices de ...
  #1 (permalink)  
Antiguo 03/05/2004, 12:49
 
Fecha de Ingreso: julio-2003
Ubicación: Benilloba/Valencia
Mensajes: 69
Antigüedad: 20 años, 9 meses
Puntos: 0
Matrices en C/C++ ??

Hola, estoy haciendo un programita que multiplica dos matrices cuadradas.

La unica pega que tengo es que no se como puedo definir dos matrices de nxn siendo n una variable que introduzco al ejecutar el programa.

Si lo declaro asi:
int const n=2;
int va[n][n];
int vb[n][n];
int vc[n][n];
si que funciona, pero no puedo introducir

Pero si lo hago asi:
int n;
int va[n][n];
int vb[n][n];
int vc[n][n];
no funciona.

Yo no quiero que n sea constante por que la pido por teclado unas lineas mas abajo. Como puedo solucionar esto?

Gracias
  #2 (permalink)  
Antiguo 03/05/2004, 15:41
 
Fecha de Ingreso: enero-2003
Ubicación: Stgo, Chile
Mensajes: 179
Antigüedad: 21 años, 3 meses
Puntos: 0
Tendría ke hacerlo así

int n;

//aca rellenas el n con algo

int **matriz = new int[n][n];
  #3 (permalink)  
Antiguo 04/05/2004, 17:58
 
Fecha de Ingreso: mayo-2004
Ubicación: Oaxaca
Mensajes: 34
Antigüedad: 20 años
Puntos: 0
Si que si lo que dice Richard pero solo funcionaria para C++.

Solo un comentario
  #4 (permalink)  
Antiguo 04/05/2004, 23:14
 
Fecha de Ingreso: mayo-2004
Ubicación: Trelew
Mensajes: 1
Antigüedad: 20 años
Puntos: 0
si estás trabajando en C puedes hacer
//-------------------------
int n;
int **matriz;
scanf("%d",s);
if ((matriz = (int**) malloc(sizeof(int)*n*n)) == NULL )
printf("Error! No hay memoria suficiente");
//-------------------------
  #5 (permalink)  
Antiguo 05/05/2004, 00:56
 
Fecha de Ingreso: julio-2003
Ubicación: Benilloba/Valencia
Mensajes: 69
Antigüedad: 20 años, 9 meses
Puntos: 0
OK, muchas gracias, lo he hecho como dice MuoX y ya funciona.

Gracias a los tres!!
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 21:08.