hola como hago para declarar la matriz y q me muestre todos los valores filas por filas.
tengo esto hasta ahora:
#include <stdio.h>
#include <stdlib.h>
int main()
{
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);
for (i=0;i<n1;i++)
{
for (j=0;j<n2;j++)
{
printf("%d |",i);
printf("%d |",j);
}
}
return 0;
}
Para declarar una matriz de enteros:
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]);
}
}
Saludos.
¿Quieres una matriz bidimensional?.Esta te pide filas,columnas,rellenas los datos de cada fila y columna y los muestra en pantalla:
#include <stdio.h>
int main()
{
int matriz[10][8];
int x,y,numero,numero2;
printf("columnas");
scanf ("%d",&numero);
setbuf(stdin,NULL);
printf("filas");
scanf("%d",&numero2);
setbuf(stdin,NULL);
for (x=0;x<numero;x++){
for (y=0;y<numero;y++){
printf("introduzca %d columna %d fila: ",x,y);
scanf("%d",&matriz[x][y]);
setbuf(stdin,NULL);
}
}
for (x=0;x<numero;x++){
for (y=0;y<numero;y++){
printf("\nVALOR DE LAS MATRICES:%d",matriz[x][y]);
}
}
getchar();
return 0;
}
¿Es algo parecido a esto lo que querias?
PD:Se me adelantaron :xD
a vos te compila¿? a mi no me anda me salen numero gigantes!!
Saludos!
¿A cual de los dos codigos te refieres? :huh: Si es el mio me sale perfectamente...
Cita de: Dark Invader en 15 Agosto 2011, 21:21 PM
¿A cual de los dos codigos te refieres? :huh: Si es el mio me sale perfectamente...
si el tuyo me anda perfecto pero lo q estoy necesitando es como el primero, pero no me funciona!
Saludos!
El primero no funciona porque no establece un valor inicial al array,un array no puede tener un valor no definido en tiempo de ejecucion,necesita un valor inicial,no que espere que el usuario ponga las variables y ponerlas en el array...Para eso se necesitarias un array dinamico con malloc puedes hacerlo...
En el codigo que te di te da el numero de filas,el de columnas,pone valores y los muestra en pantalla¿que necesitas realmente?
necesito una matriz de X filas por X columnas y q imprima sus valores fila x fila.
Saludos
Pero eso es lo que hace el codigo que te puse :¬¬
Teniendo una matriz de X filas e Y columnas, la manera de mostrar fila por fila seria así:
for(int i=0 ; i < X ; i++)
{
for(int j=0 ; j < Y ; j++)
cout << matriz[i][j] << " ";
cout << endl;
}
Ahora, vos también necesitas que el usuario determine las dimensiones de la matriz?
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!
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...
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!!
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.
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... :-\
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