Error al imprimir una matriz por teclado

Iniciado por victiman, 17 Enero 2017, 18:31 PM

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

victiman

Hola gente se que es algo muy sencillo soy principiante de echo le estoy cogiendo el truco pero me salta un error al copilar les dejo el codigo:

#include<stdio.h>
#include<windows.h>

main(){
   int A[3][3];
   int i,j;
   
   
   
   printf("introduce los elementos de la matriz\n");
   for(i=0;i<=3;i++)
       for(j=0;j<=3;j++){
           
       printf("A[%d][%d]=",i,j);
       scanf("%d",&A[i][j]);
       
       printf("la matriz es \n");
       for(i=0;i<=3;i++)
       for(j=0;j<=3;j++){
           
       printf("%d",A[i][j]);
       printf("\n");
   }
   

       
       
           
       



system("pause");
}
}


no me sale la matriz y no se porque :(
tengo que ponerlo lo mas sencillo posible sin usar funciones.

Gracias y saludos.



· Los códigos deben ir en etiquetas GeSHi
->aquí las reglas del foro
-Engel Lex

engel lex

sobre los array....

int A[3];

cuando haces eso indicas que habrá un array llamado "A" de tipo entero y tendrá 3 espacios... siempre empezando desde 0

es decir

int A[3];

memoria:
|_|_|_|
0 1 2

A[0] = 1
|1|_|_|

A[1] = 5
|1|5|_|

A[2] = 3
|1|5|3|

A[3]= 0
|1|5|3|????? error no hay espacio [3]



por otro lado... tienes un desastre con las llaves... no uses estructuras de control sin llaves hasta que no te consideres un experto... usas un for sin llaves, el for de la linea 12 cierra en la linea 34... tienes que tener cuidado con eso... la identación que tienes no es la que el codigo está asumiendo... en realidad tu codigo está haciendo algo más como

#include<stdio.h>
#include<windows.h>

main(){
    int A[3][3];
    int i,j;

    printf("introduce los elementos de la matriz\n");
    for(i=0;i<=3;i++)
        for(j=0;j<=3;j++){

        printf("A[%d][%d]=",i,j);
        scanf("%d",&A[i][j]);

        printf("la matriz es \n");
        for(i=0;i<=3;i++)
            for(j=0;j<=3;j++){

                printf("%d",A[i][j]);
                printf("\n");
            }
    system("pause");
    }
}
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

victiman

Vale ya lo he arreglado y me salen los valores gracias lo unico que me salen todos en una columna como hago para separarlos y que al copilar salgan en forma de matriz?

engel lex

muestra como te quedó el codigo para poder decirte... en general es colocar salto de linea entre cada vuelta del for mayor y un espacio en cada vuelta del for menor
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

victiman

#include<stdio.h>
#include<windows.h>

main(){
    int A[3][3];
    int i,j;
   
   
   
    printf("introduce los elementos de la matriz\n");
    for(i=0;i<=2;i++){
        for(j=0;j<=2;j++){
           
        printf("A[%d][%d]=",i,j);
        scanf("%d",&A[i][j]);
    }
}
        printf("la matriz es \n");
        for(i=0;i<=2;i++){
        for(j=0;j<=2;j++){
           
        printf("%d",A[i][j]);
        printf("\n");
    }
}

engel lex

el printf de la linea 23 va fuera de la llave de la linea 24, intercambialos de linea
al printf de la linea 22 agregale un espacio despues del %d para que no quede todo pegado
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

victiman