matriz

Iniciado por ;c1v!c, 15 Agosto 2011, 20:42 PM

0 Miembros y 1 Visitante están viendo este tema.

;c1v!c

Cita de: Dark Invader en 15 Agosto 2011, 21:46 PM
Pero eso es lo que hace el codigo que te puse  :¬¬

si pero el usuario lo unico q tiene q hacer es ingresar el numero de columnas y el numero de filas.
ahora veo si lo armo con todos los codigos q me pasaron gracias!
Saludos!

Dark Invader

Ahh,pero si no guardas ningun valor en las matrices te saldran numeros que no tienen nada que ver con el tema,por eso puse lo de ponerle valor a las filas y columnas...

;c1v!c

ahhh sii tienes razon me salieron cualquier numeros jejeje
bueno ya me dieron una idea voy a ver como lo armo
gracias a todos por contestar cuando tenga les dejo la solucion
saludos!!

Valkyr

El código que puse anteriormente es correcto (o al menos, eso creo porque he usado más C++ que C). Lo he compilado (completando el código ya que falta incluir la librería, declarar el método main y return 0) y ha compilado perfectamente. Lo he ejecutado y el resultado que ha mostrado es el correcto.

Sí lo que quieres es que el usuario solo especifique el tamaño de la matriz es lógico que a la hora de recorrerla te muestre valores extraños (a saber lo que había en la posición de memoria anteriormente).

Si por el contrario lo que quieres es que el usuario especifique los valores de la matriz, el código que puse es correcto.

Saludos.

Dark Invader

Cita de: Valkyr en 16 Agosto 2011, 02:21 AM
El código que puse anteriormente es correcto (o al menos, eso creo porque he usado más C++ que C). Lo he compilado (completando el código ya que falta incluir la librería, declarar el método main y return 0) y ha compilado perfectamente. Lo he ejecutado y el resultado que ha mostrado es el correcto.

Sí lo que quieres es que el usuario solo especifique el tamaño de la matriz es lógico que a la hora de recorrerla te muestre valores extraños (a saber lo que había en la posición de memoria anteriormente).

Si por el contrario lo que quieres es que el usuario especifique los valores de la matriz, el código que puse es correcto.

Saludos.

Si tienes razón,estaba hablando desde el punto de vista de C,de C++ no sabia que si se podia... :-\

rir3760

Código anterior de Valkyr:
int n1, n2, i, j;

printf ("Ingrese el numero de columnas de la matriz:");
scanf ("%d", &n1);
printf ("Ingrese el numero de filas de la matriz:");
scanf ("%d", &n2);

int matriz[n1][n2];
//Leer numeros y almacenarlos en la matriz
for (i = 0; i < n1; i++)
{
   for (j = 0; j < n2; j++) {
      scanf ("%d", &matriz[i][j]);
   }
}

//Mostrarla por pantalla
for (i = 0; i < n1; i++)
{
   for (j = 0; j < n2; j++) {
      printf ("%d |", matriz[i][j]);
   }
}


Cita de: Valkyr en 16 Agosto 2011, 02:21 AMEl código que puse anteriormente es correcto (o al menos, eso creo porque he usado más C++ que C). Lo he compilado (completando el código ya que falta incluir la librería, declarar el método main y return 0) y ha compilado perfectamente. Lo he ejecutado y el resultado que ha mostrado es el correcto.
Si y No.

En el estándar de facto de C (ISO C90) y C++ solo se puede indicar el numero de elementos de un array mediante una constante entera mayor que cero.

En el caso del nuevo estándar de C (ISO C99) si es posible pero este no tiene, ni de lejos, el soporte que si tiene C90.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language