Ir al contenido principal

Entradas

Mostrando entradas de abril, 2013

Operaciones con matrices II

Como les comenté la semana pasada, seguimos con las operaciones con matrices. Ya vimos lo sencilla que puede ser la suma y la resta pero ¿la multiplicación? puede parecer un poco complicado al principio así que vamos por partes. A diferencia de la suma y resta en la multiplicación se hace "fila por columna" y se suman los productos. Ya que se hace fila por columna es  necesario que las matrices a multiplicar sigan la siguiente forma: (n x m)(m x p) = (n x p) Es decir, el numero de columnas en la primera matriz debe ser igual al numero de filas en la segunda matriz. La matriz resultante será del número de filas de la primera por el número de columnas de la segunda. Para este caso veremos una matriz de 3x3 así que no tendremos problemas. Como pueden ver en la imagen primero se multiplica el primer elemento de A con el primer elemento de B, luego se suma a la multiplicación del segundo elemento de A por el segundo de B... etc.  (Tomando las matrices como A...

Operaciones con matrices I

Ya sabemos como representar una matriz en C++ ¿y luego?. Resulta que podemos realizar operaciones con matrices y numeros reales o entre matrices. En esta ocasión veremos las operaciones más sencillas entre matrices, suma y resta. Antes de ver el código cabe mencionar como se realizan las operaciones de suma y resta con matrices. Sencillo, Tenemos una Matriz_A y una Matriz_B supongámos que ambas son de 3x3, cada posición i,j de B se suma o se resta a la misma posición i,j de A y el resultado se coloca en la posición i,j de una nueva matriz. Por ejemplo:        1  2  3               9  8  7 A=  4  5  6        B=  6  5  4        7  8  9               3  2  1 Sumamos A[0,0] + B[0,0...

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 e...

Programación: Ordenamiento por burbuja

Antes de preguntarnos ¿Qué demonios es un ordenamiento por burbuja? sería más apropiado preguntarnos ¿qué es un ordenamiento?, y así como el nombre lo sugiere, es un método que ordena una lista de elementos de menor a mayor o de mayor a menor, depende nuestro problema. Aquí utilizamos ciclos, condiciones y arreglos, por ello la importancia de las definiciones que vimos al principio del blog. Ahora pues, llendo directo al meollo del asunto. Tenemos una lista de elementos, digamos que 10, pero desordenados. Lo que necesitamos es ordenarlos de menor a mayor. Hay diferentes formas de ordenamiento, en el caso de la burbuja se comparan los elementos uno a uno. El primero con los demás y si hay un elemento menor al primero se intercambian. Después compara el segundo elemento con los demás y si hay uno que sea menor los intercambia. Así para todos los elementos. Como pueden ver en el código usamos un ciclo for anidado, esto quiere decir un ciclo for dentro de otro ciclo for. El pri...

Programación: Funciones

La mayoría de ustedes puede pensar, cuando les dicen función en algo como: f(x)=... Bueno, ciertamente esa es una función matemática. En programación es un concepto muy parecido. Una función pretende reducir las líneas de código y esto sirve cuando vamos a realizar una operación (o una serie de operaciones) varias veces durante el programa. La función se coloca antes del main() y tiene la siguiente estructura: tipo_de_resultado nombre_función (variables_de_la_función){ ... } Vamos a un ejemplo, queremos una función que obtenga el coseno de un número. Bueno pues creamos una función: Y ese es el ejemplo de una función sencilla. Declaramos la función, luego en el main pedimos al usuario un número y llamamos a la función, OJO aquí hace falta convertir a radianes ya que estamos dando la entrada en grados. Básicamente lo que estamos diciendo es: quiero que apliques esa función a esta variable y nos regresa ese resultado.