elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Matriz en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz en C++  (Leído 20,865 veces)
delirio

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Matriz en C++
« 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
  1. #include<iostream.h>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.    int A[50][50];
  10.    int i,j,m,n;
  11.  
  12.    cout<<"Ingrese dimensiones de la matriz: ";
  13.    cin>>m;
  14.    cin>>n;
  15. /*-----------FORMAR MATRIZ-------------------------*/
  16.              for(i=0;i<m;i++)
  17.              {
  18.              for(j=0;j<n;j++)
  19.              {
  20.              cout<<"A["<<i+1<<"]"<<"["<<j+1<<"]=";
  21.              cin>>A[i][j];
  22.              }
  23.              }
  24.  
  25.  
  26. /*-------------MOSTRAR MATRIZ--------------------------*/
  27.       cout<<"\n   Matriz A:   \n";
  28.       {
  29.       for(i=0;i<m;i++)
  30.       {
  31.       for(j=0;j<n;j++)
  32.       {
  33.       cout<<"\t"<<A[i][j];
  34.       }
  35.       cout<<"\n";
  36.       }
  37.       cout<<"\n";
  38.       }  
  39.  
  40. /*---------------------------------------------------------*/      
  41.  
  42.  
  43. system("PAUSE>nul");
  44. return 0;
  45. }



HEEEEEEELLP!!!!!!!!........


      


« Última modificación: 26 Noviembre 2010, 05:54 am por delirio » En línea

fary


Desconectado Desconectado

Mensajes: 1.084



Ver Perfil WWW
Re: Matriz en C++
« Respuesta #1 en: 26 Noviembre 2010, 19:32 pm »

Azte una funcion que no es tan dificil...

salu2!


En línea

Un byte a la izquierda.
darkvidhack

Desconectado Desconectado

Mensajes: 159


Be Linux my friend...


Ver Perfil WWW
Re: Matriz en C++
« Respuesta #2 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 ;)
En línea

live and let die

la duda es la base de todo conocimiento
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Matriz de Labels
Programación Visual Basic
CsarGR 1 3,775 Último mensaje 19 Diciembre 2005, 18:55 pm
por NYlOn
matriz c#
.NET (C#, VB.NET, ASP)
shin_akuma 2 11,069 Último mensaje 30 Junio 2008, 22:06 pm
por shin_akuma
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 6,022 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
duda resultado de matriz [resuelto y con for incluido :) ]
Programación C/C++
flony 7 4,710 Último mensaje 16 Octubre 2010, 01:53 am
por Akai
Matriz Dentro de otra matriz
Programación Visual Basic
moba741120 3 6,939 Último mensaje 13 Abril 2011, 18:29 pm
por raul338
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines