-->
.

miércoles, 2 de mayo de 2012

Arreglos Bidimensionales (Lectura y Escritura)

Para poder trabajar la lectura y la escritura de un arreglo bidimensional lo primordial es saber identificar las filas de las columnas. 
Las filas o renglones son las horizontales, y las columnas son las verticales en la matriz.
En la escritura y lectura es importante la presentación por pantalla, e importante que por pantalla se identifiquen las filas y las columnas, esto se puede lograr con una función especial de ubicación por pantalla.
Esta función es: gotoxy();, como su nombre lo dice go=ir; to=a; xy= coordenadas cartesianas ejes x,y
Como ejemplo el siguiente gráfico:
 Como apreciamos en el gráfico nos haremos idea de que los ejes x,y son nuestra pantalla, y que el gotoxy debe ir siempre antes de un scanf(); o un printf();, dentro del gotoxy(3,2); vemos dos números que son los que indican que ubicación en la pantalla tomara nuestro puntero para escribir o presentar los datos, en el ejemplo del gráfico tenemos, gotoxy(3,2);printf("hola");, que significa, que la palabra hola se presentará el la intersección del par ordenado (3,2), donde el primer numero representa al eje de las x es decir el 3, y el segundo numero representa al eje de las y en este caso el 2.

Esa función nos servirá de mucho en el uso de la lectura y escritura de matrices bidimensionales. ¿ Cómo? Pues de la siguiente manera.
Usando un for() anidado como en la inicialización, pero la diferencia es que en la inicializacion no es necesario presentar datos por pantalla, para la lectura el scanf(); y la escritura el printf();.

Primero haremos la lectura y escritura sin la función gotoxy();
#include<stdio.h>
#include<conio.h>

void main()
 { clrscr();
   int
num[3][3];
   int
i,j;
   for(
i=0;i<3;i++)
    {
      
for(j=0;j<3;j++) 
       {
         
scanf("%d",&num[i][j]);
       }
    }

   for(i=0;i<3;i++)
    {
      
 for(j=0;j<3;j++) 
       {
         
printf("%d",num[i][j]);
       }
    }

getch();
}

Apreciaremos que en ambos casos se ve una sola columna o fila. Debemos evitar eso haciendo lo siguiente con la función gotoxy();.
#include<stdio.h>
#include<conio.h> 
void main()
 clrscr();
   int 
num[3][3];
   int 
i,j,x=3,y=3;
   for(
i=0;i<3;i++)
    {
      
 for(j=0;j<3;j++) 
       {
       
 
gotoxy(x,y);scanf("%d",&num[i][j]);
         x=x+3;  
       }
       y=y+3;
                x=3; 
    }

    x=20;
    y=3;
   for(i=0;i<3;i++)
    {
      
 for(j=0;j<3;j++) 
       {
         
gotoxy(x,y);printf("%d",num[i][j]);
         x=x+3;
       }
       y=y+3;
                x=20;
    }
getch();
}
Al momento de correr el programa veremos en la presentación que con respecto al código anterior, se ve mejor presentada.

0 comentarios:

Publicar un comentario

Popular Posts

Followers