| |||
Duda con matriz Hola, como va? tengo una duda con el tema de matrices, les pongo un ejercicio simple, no quiero su resolucion. Dada una matriz de N x N, devolver la suma los elementos de su diagonal principal. Mi pregunta es que significa N x N, xq no tengo su tamaño, tambien quisiera sacarme la duda de lo q es la diagonal principal e inversa. Espero su ayuda, para ir resolviendo este tipo de ejercicios. Muchas gracias. Alan. |
| |||
Respuesta: Duda con matriz NxN significa que es una matriz cuadrada. n x n, son filas y columnas
__________________ Visita mi blog donde escribo acerca de desarrollo web y emprendimiento Sigueme en Twitter: @alanchavezv |
| |||
Respuesta: Duda con matriz La idea del ejecicio es que ese N puede variar. Osea es una variable. No tiene una dimension fija. Los elementos pueden ser nombrados a travez del numero de fila y columna. Los elementons que se encuentran en la diagonal principal son los que tiene igual numero de fila y columna. Por ejemplo el 1-1,2-2,etc. |
| |||
Respuesta: Duda con matriz NxN significa que es una matriz cuadrada. n x n, son filas y columnas Puedes utilizar memoria dinamica, depende con que programes si programas en C, tienes que usar malloc y free si programas en C++, tienes que usar new y delete. Para hacer una matriz dinámica, lo mas sencillo es que utilices un concepto llamado row major order. Veras la memoria de tu computadora, es sequencial. Osea que para almacenar una matriz, en realidad lo almacena como un array, y utiliza una formula para acceder a cualquier elemento en la matriz alojada en la memoria. printf("Tamaño de la matriz"); scanf("%d",&n); int *MatrizDinamica; MatrizDinamica = (int *)malloc(n*n*sizeof(int)); int row, column,offset; row = n; column = n; offset = row*NUMCOLS + column MatrizDinamica[offset] Es mas o menos lo que buscas. El codigo tiene errores, NUMCOLS, es el numero de columnas que tiene tu matriz, mientras que row y column, son los indices de la posicion que quieres tener. Por ejemplo, si tienes una Matriz de 3x3, y quieres accesar la posicion M[1,1] entonces tu offset quedaría: offset = 1*3 + 1 offset = 4 Eso quiere decir, que el elemento en la posicion 1,1 en un array ocuparia el espacio 4, y asi tienes una matriz dinamica.
__________________ Visita mi blog donde escribo acerca de desarrollo web y emprendimiento Sigueme en Twitter: @alanchavezv |
Etiquetas: |