clase 5 matrices - se aceptan sugerencias :-D
fuente: http://www.etnassoft.com/biblioteca/introduccion-al-desarrollo-de-software/ y producción propia Matrices Las matrices son estructuras de datos homogéneas de tamaño fijo. Es decir, se representa siempre una información que emplea un número determinado de datos. También se llaman arreglos (una traducción bastante directa del término array en inglés), tablas (para las de una o dos dimensiones) o vectores (si son unidimensionales). En el caso particular de los vectores de caracteres, reciben el nombre de cadenas de caracteres o strings, en inglés. Declaración A continuación se muestran cuatro declaraciones de matrices distintas y un esquema de su distribución en la memoria del computador. El número de bytes de cada división depende del tipo de dato de cada matriz correspondiente. En el esquema ya se avanza el nombre de cada dato dentro de la matriz, en el que se distingue el nombre común de la matriz y una identificación particular del dato, que se corresponde con la posición del elemento en ella. Es muy importante tener presente que las posiciones siempre se numeran desde 0, en C. Memoria: vector[0] : vector[1] : vector[2] : vector[3] : cadena[0] : ... :cadena[19] : tabla[0] : … : tabla[9] : matriz[0][0] : matriz[0][1] : … : matriz[2][1] : matriz[2][2] A continuación, se muestran las declaraciones de las variables que conducirían hasta la distribución en memoria que se ha visto: int vector[4]; char cadena[20]; unsigned short tabla[10]; double matriz[3][3]; Como se ha comentado, las cadenas de caracteres son, realmente, matrices unidimensionales en C. Es decir, que tienen una longitud máxima fijada por el espacio reservado al vector que les corresponde. Aun así, las cadenas de caracteres pueden ser de longitud variable y, por tanto, se utiliza un marcador de final. En este caso, se trata del carácter NUL del código ASCII, cuyo valor numérico es 0. En el ejemplo anterior, la cadena puede ser cualquier texto de hasta 19 caracteres, pues es necesario prever que el último carácter es el de fin de cadena ('\0'). En todos los casos, especialmente cuando se trata de variables que hayan de contener valores constantes, se puede dar un valor inicial a cada uno de los elementos que contienen. En los ejemplos siguientes, podemos observar distintas inicializaciones para las declaraciones de las variables anteriores. int vector[4] = { 0, 1, 2, 3 }; char cadena[20] = { 'H', 'o', 'l', 'a', '\0' }; unsigned short tabla[10] = { 98, 76, 54, 32, 1, }; double matriz[3][3] = {{0.0, 0.1, 0.2}, {1.0, 1.1, 1.2}, {2.0, 2.1, 2.2} }; Para facilitar la inicialización de las cadenas de caracteres también es posible hacerlo de la manera siguiente: char cadena[20] = "Hola"; Si, además, la cadena no ha de cambiar de valor, es posible aprovechar que no es necesario especificar la dimensión, si ésta se puede calcular a través de la inicialización que se hace de la variable correspondiente: char cadena[] = "Hola"; En el caso de la tabla, se realiza una inicialización completa al indicar, con la última coma, que todos los elementos posteriores tendrán el mismo valor que el último dado. Referencia Para hacer referencia, en alguna expresión, a un elemento de una matriz, basta con indicar su nombre y la posición que ocupa dentro de ella: matriz[i0][i1]...[in] donde ik son expresiones el resultado de las cuales debe de ser un valor entero. Habitualmente, las expresiones suelen ser muy simples: una variable o una constante. Ejercicios 1.Definir un arreglo con las notas de los escritos de un grupo e inicializar la mitad de los elementos con 12 y el resto con 7 2.Definir una matriz que represente el tablero del buscaminas e inicializarlo con valores (usar -1 para representar una bomba y -2 para representar el vacío) 3.Definir una estructura que reprensente los nombres y apellidos de un grupo de personas. 4.Recorrer el arreglo del ejercicio 1 imprimiendo todos los valores 5.Recorrer la matriz del ejercicio 2 imprimiendo todos los valores 6.Recorrer la estructura del ejercicio 3 imprimiendo todos los valores Algunas teclas útiles del teclado: 1.Tab: tabula o avanza en los campos de un formulario de una página web 2.Shift + Taab: destabula o retrocede en los campos de un formulario de una pág. web 3.Inicio: va al principio de la línea 4.Fin: va al fin de la línea 5.Re. Pág: retroceder una página, sirve para ir más rápido al final de un documento 6.Av. Pág: avanzar una página, sirve para ir más rápido al inicio del documento Recordatorios de programación 1 1.|| es or (verdadero cuando al menos uno de los operandos es verdadero) 2.&& es and (verdadero cuando ambos operandos son verdaderos) 3.== es igual (verdadero cuando ambos operandos son iguales) 4.!= es distinto (verdadero cuando ambos operandos son distintos) Errores comunes 1.No se puede poner 0 <= i <= 9, en vez de eso hay que poner 0 <= i && 0 <=9 2.Call of non function … Problema: se declaró una variable con el mismo nombre que una función. Solución: cambiar el nombre de la variable o de la función. Recordatorio de accesos directos en IDE Turbo C++: 1.Shift + F1 = topic search, permite buscar funciones, te dice la descripción, el cabezal y qué librerías se deben incluir 2.Alt gr + ° = \ 3.alt +124 = | 4.Ctrl + Pause = detener la ejecución (sirve para cuando el programa entra en loop infinito)
participants (1)
-
Federico Kouyoumdjian