viernes, 5 de diciembre de 2014

Suma de matrices en C++

¿Cómo sumar los números que están en las diagonales de una matriz?


Si el orden de la matriz es un número impar, eso quiere decir que la diagonal de la izquierda coincide con la diagonal de la derecha tienen en común el número del centro. Para que no se suma dos veces aquél número he puesto un 'else' a la siguiente condición. En caso si se quiere sumar dos veces ese número solo se debe quitar el 'else' para la segunda condición. 



#include<iostream.h>
#include<conio.h>
void main(void)
{

  int n,A[50][50],x=5,y=8,suma=0;

   cout<<"ingrese orden de la matriz: "; cin>>n;


   for(int i=0; i<n; i++){
    for(int j=0;j<n;j++){
         gotoxy(x,y);
      cin>>A[i][j];
         x+=5;
      }
         y+=2;
         x=5;
   }

   for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
                if(i==j){
                      suma=suma+ A[i][j];
                }
                else if( i+j==(n-1)){
                suma=suma +A[i][j];
                }
      }
   }

   cout<<"la suma de los bordes es: "<<suma;

getch();
}


No hay comentarios:

Publicar un comentario