0 evaluări0% au considerat acest document util (0 voturi)
129 vizualizări13 pagini
Este documento explica los arreglos bidimensionales o matrices y cómo crear una matriz caracol. Define una matriz, cómo declararla e inicializarla, y cómo acceder a sus elementos usando subíndices. Explica que una matriz caracol ordena números de forma ascendente en espiral dentro de una matriz. Proporciona pseudocódigo para generar una matriz caracol.
Este documento explica los arreglos bidimensionales o matrices y cómo crear una matriz caracol. Define una matriz, cómo declararla e inicializarla, y cómo acceder a sus elementos usando subíndices. Explica que una matriz caracol ordena números de forma ascendente en espiral dentro de una matriz. Proporciona pseudocódigo para generar una matriz caracol.
Este documento explica los arreglos bidimensionales o matrices y cómo crear una matriz caracol. Define una matriz, cómo declararla e inicializarla, y cómo acceder a sus elementos usando subíndices. Explica que una matriz caracol ordena números de forma ascendente en espiral dentro de una matriz. Proporciona pseudocódigo para generar una matriz caracol.
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.