Вы находитесь на странице: 1из 5

#include <iostream>

#include<iomanip>

using namespace std;

void llenarOrden();

void llenarMatriz();

void sumaFilas();

void sumaColumnas();

void sumaDiagonales();

void mostrarSumas();

void compararSumas();

int m[10][10],n,i,j,sumafila[10],sumacolumna[10],sumad1=0,sumad2=0;

int main()

llenarOrden();

llenarMatriz();

sumaFilas();

sumaColumnas();

sumaDiagonales();

mostrarSumas();

compararSumas();

return 0;

void llenarOrden(){

cout<<"digite el orden de la matriz ";

cin>>n;

void llenarMatriz(){

for(i=0;i<n;i++){

for(j=0;j<n;j++){

cout<<"ingrese el numero de orden ["<<i<<"]"<<"["<<j<<"] ";

cin>>m[i][j];
}

void sumaFilas(){

int sumaf;

for(i=0;i<n;i++){

sumaf=0;

for(j=0;j<n;j++){

sumaf+=m[i][j];

sumafila[i]=sumaf;

void sumaColumnas(){

int sumac;

for(i=0;i<n;i++){

sumac=0;

for(j=0;j<n;j++){

sumac+=m[j][i];

sumacolumna[i]=sumac;

void sumaDiagonales(){

for(i=0;i<n;i++){

for(j=0;j<n;j++){

if(i==j){

sumad1+=m[i][j];

}
i=0;

j=n-1;

while(i<n&&j>=0){

sumad2+=m[i][j];

i++;

j--;

void mostrarSumas(){

for(i=0;i<n;i++){

cout<<setw(12)<<"fila "<<i;

for(i=0;i<n;i++){

cout<<setw(12)<<"columna "<<i;

for(i=0;i<2;i++){

cout<<setw(12)<<"diagonal "<<i+1;

cout<<endl;

for(i=0;i<n;i++){

cout<<setw(12)<<sumafila[i];

for(i=0;i<n;i++){

cout<<setw(12)<<sumacolumna[i];

cout<<setw(15)<<sumad1;

cout<<setw(15)<<sumad2;

cout<<endl;

}
void compararSumas(){

int compf,compc;

for(i=0;i<n-1;i++){

compc=-1;

if(sumacolumna[i]==sumacolumna[i+1]){

compc=sumacolumna[i];

else{

compc=-1;break;

for(i=0;i<n-1;i++) {

compf=-2;

if(sumafila[i]==sumafila[i+1]){

compf=sumafila[i];

else{

compf=-2;break;

if(sumad1==sumad2){

if((sumad1==compc)&&(compc==compf)){

cout<<"LA MATRIZ ES MAGICA y LA SUMA CONSTANTE ES "<<sumad1;

else{

cout<<"no es magica ";

else{
cout<<"no es magica ";

Вам также может понравиться