Título: Matriz en C++ Publicado por: delirio en 26 Noviembre 2010, 05:49 am Como hago para que en una matriz cuadrada sume el triangulo superior al triangulo inferior, es decir ....por ejemplo ingreso una matriz de 3x3 asi .....
|2 3 1| |4 5 6| |3 4 1| y sumar: (fila1 y columna2) con (fila2 y columna1)=3+4=7 (fila1 y columna3) con (fila3 y columna1)=1+3=4 (fila2 y columna3) con (fila3 y columna2)=6+4=10 entonces que me muestra la nueva matriz que sera: | 2 3 1 | | 7 5 6 | | 4 10 1| OJALA ME ENTIENDAN, Y ESPERO QUE ME AYUDEN ......... es que yo solo implemente el código para ingresar una matriz :-\.....pero quisiera que el programa hiciera lo que le dije anteriormente PARA MATRICES DE nxn. Estoy trabajando en DEV C++.... :rolleyes: Código
HEEEEEEELLP!!!!!!!!........ Título: Re: Matriz en C++ Publicado por: fary en 26 Noviembre 2010, 19:32 pm Azte una funcion que no es tan dificil...
salu2! Título: Re: Matriz en C++ Publicado por: darkvidhack en 27 Noviembre 2010, 22:48 pm ey!! una vez que tengas la matriz formada puedes hacer lo siguiente:
int a=1; int b=0; int c=0; //Declaracion de variables, a y b =fila y columna del primer elemento a sumar; c y d=fila y columna del segundo int d=1; //elemento a sumar int counter=0; //Esta variable será el contador que nos servirá para saber cuando parar se sumar if(numero_filas==numero_columnas || numero_filas<numero_columnas) { //esto no tiene nada que explicar for(a,b,c,d;a<numero_filas;a++,d++;) { //el bucle se repetirá el numero de filas-1, imagina una matriz 3x3, cuando llegamos a la //tercera fila, ya solo nos queda sumar dos elementos, el 2-1 y el 1-2 (el 0-0 es el 1º num) matriz[a]=matriz[a]+matriz[c][d]; //realizamos la suma e incrementamos la variable counter en 1 counter++; if(counter+1==numero_filas) { //volvamos al ejemplo de la matriz 3x3, el contador estará a 2, como sumamos 1, se pone a 3 //y como 3=3(nº filas) pues hace la ultima suma matriz[a][b-1]=matriz[a][b-1]+matriz[a-1][d]]; } } } if (numero_columnas>numero_filas) { //bueno esto es igual que antes pero con una matriz con nºcolumnas>nºfilas matriz[a]=matriz[a]+matriz[c][d]; counter++; if(counter+1==numero_columnas){matriz[a][b-1]=matriz[a][b-1]+matriz[a-1][d];} } Espero haberte ayudado, prueba el código, no lo he probado, lo acabo de inventar, no se si estará bien o mal, es para numero de filas y columnas >1 ;), si quieres generalizar ya tienes una idea de como hacerlo ;), espero que esté bien jeje un saludo, si tienes algun problema avisa ;) |