You are on page 1of 13

ESCUELA MILITAR DE INGENIERIA

MCAL. ANTONIO JOSE DE SUCRE


BOLIVIA




Tema: Arreglos Bidimensionales (matrices)
Materia: Algoritmos
Docente: Lic. Roxana Laurel
Nombre: Andrea Kathleen Pozo Pacello
Cdigo: 5280080
Paralelo: 1-Q
Carrera: Ciencias Bsicas
Fecha: 09-06-2014

La Paz-Bolivia
Introduccin.-
En el presente trabajo de investigacin podremos saber que es un
arreglo bidimensional tambin conocido como matriz y tambin
conocer con exactitud como realizar una matriz caracol que consta en
ordenar numero de manera asendente y en forma de espiral dentro de
un arreglo bidimensional que consta de filas y columanas para asi
poder tener un mayor conocimiento en la materia de algortimos y en la
aplicacin de las matrices en nuestra vida diaria.












a. Objetivo general.-

El objetivo del presente trabajo de investigacin es conocer que
es y como se realiza un arreglo bidimensional y que usos
podemos darle al momento de la aplicacin de este en una
programacin

b. Objetivos espcificos.-

Conocer la aplicacin de un arreglo bidimensional.
Saber como se realiza una matriz caracol.
Poder explicar y comprender en su totalidad lo que
comprenden los arreglos bidimensionales.













c. Marco teorico.-

1. Arreglos Bidimensionales (matrices).-
Un arreglos bidimensional esta compuesto, por un conjunto de
elementos homogneos y se puede acceder a los datos utilizando dos
subndices, este tipo de arreglo es tambin conocido como matriz.
Declaracin
Un arreglo bidimensional se define as:
Int
Arreglo[10][10];
float matriz[10][10];
Tambin podemos utilizar constantes para definir la dimensin del
arreglo de dos dimensiones:
const int N = 10;
int arreglo[N][N];
Inicializacin
Una matriz o arreglo bidimensional se puede inicializar de este modo:
int matriz[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
Con la anterior asignacin se crea en memoria una matriz igual a la de
abajo

0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
Fig.1
Tambin podemos utilizar una estructura for dentro de otra
estructura for para inicializar los valores de un arreglo de dos
dimensiones como se muestra a continuacin:
Ejemplo 1
Leer desde teclado una matriz de nmeros enteros de dimensin 3x3.

#include
<iostream.h>
void
main()
{
const
int
TAM=3;
int
matriz[TAM][TAM];
for( int i=0; i<TAM ; i++)
{
for( int j=0; j<TAM; j++)
{
cout<<Ingrese el elemento [<<i<<,<<j<<] ;
cin>>matriz[I][j];
}

Acceso a los elementos de un arreglo bidimensional
En un arreglo de dos dimensiones necesitamos tambin dos ndices
para acceder a sus elementos.
Si utilizamos: matriz[i][j], entonces i se refiere a la fila y j a la columna.
Para acceder al elemento de la segunda fila y segunda columna de la
matriz de la Fig. 1 hacemos:
int nro = matriz[1][1];
En la variable nro se guardara el nmero 5.

Las matrices o arreglos bidimensionales se suelen utilizar en clculos
matemticos, operaciones con matrices, recorridos por matrices, y
cualquier uso que nosotros le podamos dar.
Se pueden definir arreglos de ms de 2 dimensiones, pero su manejo
se dificultara enormemente.
Ejemplo 2 (MULTIPLICACIN de Matrices)
Se requiere un programa que realice la multiplicacin de dos matrices,
para tal efecto se deben ingresar las dos matrices por teclado teniendo
el cuidado de controlar que la primera matriz tenga una dimensin de
N*M y la segunda de M*N para que se pueda realizar la multiplicacin.
Ejemplo 3 (cuadrado perfecto)
Se debe imprimir un cuadrado mgico de tamao N, donde N es un
nmero impar comprendido entre 3 y 11. Un cuadrado mgico esta
compuesto de nmeros enteros entre 1 y N, con las siguientes
caractersticas: la sumas de las filas, columnas, diagonales son
iguales, como se ve en el siguiente ejemplo:
8 1 6
3 5 7
4 9 2

El mtodo de generacin del cuadrado mgico consiste en situar el
nmero 1 en la casilla del centro de la primera fila, el siguiente nmero
se debe situar en la casilla ubicada en la fila anterior (por encima) y en
la columna de la derecha. Este proceso se repite hasta colocar los N
nmeros.
Es importante saber que el cuadrado mgico es cclico, es decir, la fila
anterior (encima) de la primera fila es la ltima fila y la columna a la
derecha de la ltima es la primera columna. En caso de que un
nmero se debe colocar en una casilla que ya esta ocupada, entonces
se elige la casilla que se encuentra debajo (en la siguiente fila, la
misma columna) del nmero que acabamos de ubicar.
1.1. Matriz caracol.-
Un problema clsico en la programacin, especialmente cuando
estamos iniciando a utilizar Arrays en un lenguaje de programacin,
una matriz es simplemente un array bidimensional, entonces ahora les
mostrare el algoritmo y tambin solucionado en cdigo java.
Una matriz caracol, como su nombre lo dice tiene, la siguiente forma
para una matriz cuadrada, ejemplo matriz cuadrada de tamao 5.



Para ello necesitamos cuatro fors que recorran los cuatro lados y uno
extra para que repita esa operacin en el caso de una dimensin 5
deber repetirlo 2 veces y colocar un numero mas en el centro, en el
caso de dimensin par entonces repetimos dimensin dividido entre 2
veces.



En el diagrama de flujo, n es la dimensin de la matriz cuadrada y x es
un numero con cual empezara a generar la matriz caracol. Vean el
algoritmo en lenguaje de programacin Java.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static int[][] generarMatrizCaracol(int n, int x) {
int[][] M = new int[n + 1][n + 1];
for (int a = 1; a <= n / 2; a++) {
for (int i = a; i <= n - a; i++) {
M[a][i] = x;
x++;
}
for (int i = a; i <= n - a; i++) {
M[i][n - a + 1] = x;
x++;
}
for (int i = n - a + 1; i >= a + 1; i--) {
M[n - a + 1][i] = x;
x++;
}
for (int i = n - a + 1; i >= a + 1; i--) {
M[i][a] = x;
x++;
19
20
21
22
23
24
25
}
}
if (n % 2 == 1) {
M[n / 2 + 1][n / 2 + 1] = x;
}
return M;
}













d. Conclusiones.-
Con el presente trabajo de investigacin podemos llegar a las
siguientes conclusiones:
Las matrices nos facilitan en el momento de realizar ciertas
operaciones matemticas.
La aplicacin de los arreglos bidimensionales nos permiten
facilitar ciertas operaciones al momento de la aplicacin de la
programacin en c++ y otros programas.
Pudimos observar la aplicacin de la matriz caracol y como se
realiza.












e. Bibliografia.-

http://soloinformaticayalgomas.blogspot.com/2011/01/gene
rar-la-matriz-caracol.html
http://www.solveet.com/exercises/Matriz-Caracol/48
http://www.lsi.us.es/docencia/asignaturas/ip1/trabajos/Subh
tmls/Recorrido%20de%20una%20matriz%20por%20espiral
.htm
http://progra.usm.cl/apunte/materia/arreglos-2d.html
http://www.slideshare.net/AriannaYadiraT/arreglos-
bidimensionales-o-matrices
http://lenguajecmasmas.wordpress.com/2007/10/01/arreglo
s-bidimensionales-matrices/

You might also like