Ir al contenido principal

Programación: Arreglos Bidimensionales

Hoy vamos a ver cómo hace un arreglo bidimensional en C++. Como quizás sea un concepto complicado de entender por las palabritas... me tomé la libertad de hacer una imagen que ayude a explicar.

donde:
a = el dato que vamos a guardar.
i = el índice de la posición horizontal.
k = el índice de la posición vertical.

Como saben, un arreglo unidimensional sólo tiene un índice (unidimensional = un índice; fácil ¿no?). Una forma de pensar en un arreglo bidimensional puede ser una matriz. La forma de recorrer la matriz es la misma en que leemos, de izquierda a derecha y de arriba hacia abajo.

En esta ocasión vamos a hacer una matriz de 3x3. Vamos al código:


Veamos que tenemos dos ciclos for anidados. De nuevo, un for recorre un índice, dos for funcionarán para recorrer dos índices. Analicémos el funcionamiento:
1. Primero necesitamos recorrer los valores en i, por lo tanto el for con índice i debe ir dentro del otro for.
2. Cada vez que el for del índice i termine de recorrer el arreglo el índice k aumenta en 1. (algo así como el funcionamiento de la máquina de escribir).
3. Una vez que termina el último ciclo del for con índice i del último ciclo del for con índice k (es decir, la última posición) nuestra matriz está completa.

La forma de declarar un arreglo bidimensional es muy similar a la de un arreglo unidimensional, aquí el número de corchetes nos dice el número de dimensiones del arreglo.

int arreglo [] --> unidimensional
int arreglo[][] -->arreglo bidimensional

Échenle un ojo al programa y traten de entender sus partes, verán que no es tan dificil. La próxima semana veremos algunas operaciones con matrices.

Comentarios

Entradas populares de este blog

Programación: Estructuras de Control I

Hoy vamos a platicar un poco sobre las estructuras de control. Antes que nada ¿Qué son? Son sentencias que permiten modificar el flujo del programa, algo así como tomar decisiones basados en datos del programa. Para ello deben cumplirse ciertas condiciones definidas por el usuario. Estructura de control IF Pensemos en un programa que evalúe nuestro desempeño escolar. Declaramos nuestras variables y obtenemos el promedio, hasta aquí ya sabemos cómo hacer todo. Ahora bien, queremos que el programa nos muestre un mensaje "Excelente" si el promedio es de 10 a 8.5, "Bueno" si el promedio es de 8.4 a 7.5, "Regular" si el promedio es de 7.4 a 6, si es inferior a 6 que muestre "Malo". Analizando el problema nos damos cuenta rápidamente de dos detalles (esto se va dando con la práctica): 1. Utilizaremos variables de tipo flotante. 2. Utilizaremos 4 condiciones. La forma en que utilizamos la estructura If es la siguiente: if ( condición ) { .....

Método de solución de ecuaciones por suma y resta

Esta vez voy a explicarles el método de suma y resta para la resolución de sistemas de ecuaciones. Me parece un método bastante sencillo y eficiente (claro esto depende del tipo de ecuación), sin más les dejo la explicación, cualquier duda o comentario dejenla en los comentarios y procuraré resolverla:

Programación: Obtener Promedio

Que tal gente, volvemos a los temas de programación. Hoy veremos un tema que teníamos pendiente, aquel programa que obtuviera el promedio de 4 calificaciones y nos dijera nuestro desempeño segun nuestro promedio. Para los que no sepan muy bien de lo que hablamos dejo el link de aquella entrada AQUI . Ahora bien, en esa ocasión hicimos el programa muy básico y quizás poco ortodoxo. El reto era mejorar ese programa con lo visto en los tutoriales que siguieron. Pues bien, ahora incorporamos arreglos, ciclos FOR, y seguimos utilizando los condicionales. Aunque viene cierto que el programa sigue sin tener gran nivel de complejidad sirve de buen ensayo para desarrollar y practicar los conocimientos así que vamos al código: Bueno, ahí está. Ahora hay que notar diferentes cosas: 1) En el segundo ciclo FOR, donde definimos a sum, notamos el operador +=. Lo que estamos haciendo es indicar la instrucción "en la primer vuelta del ciclo sum es igual a materia[j], en la segunda vuelta el...