PROGRAMA EN C
// ConsoleApplication5.cpp: define el punto de entrada de la aplicación de
consola.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "time.h"
int _tmain(int argc, _TCHAR* argv[])
{
system("color F0");
int i, j, aux, dimension, suma[300], cont, matriz[10][10];
printf("Porfavor ingrese la dimension de la matriz con la que desea
trabajar ");
//srand(time(NULL)); Únicamente se utiliza para generar números aleatorios
pero no fue necesario
scanf_s("%d", &dimension);
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
printf("Digite los elementos de la matriz en la posicion %d %d ", i,
j);
scanf_s("%d", &matriz[i][j]);
}
printf("nn");
}
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
printf("t%d", matriz[i][j]);
}
printf("nn");
}
printf("n");
printf("+++++ Suma de matriz filas +++++");
printf("n");
for (i = 0; i < 2 * dimension + 2; i++)
{
suma[i] = 0;
}
//suma filas
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
suma[i] = suma[i] + matriz[i][j];
printf("t %d", suma[i]);
}
printf("nn");
}
printf("n");
printf("+++++ Suma de matriz columnas +++++");
printf("n");
//suma columnas
for (j = 0; j < dimension; j++)
{
for (i = 0; i < dimension; i++)
{
suma[j + dimension] = suma[j + dimension] + matriz[i][j];
printf("t %d", suma[j + dimension]);
}
printf("nn");
}
printf("n");
printf("+++++ Suma de matriz diagonales +++++");
printf("n");
//suma diagonales
for (i = 0; i < dimension; i++)
{
suma[2 * dimension] = suma[2 * dimension] + matriz[i][i];
printf("t %d", suma[2 * dimension]);
}
printf("nn");
printf("n");
for (i = 0; i < dimension; i++)
{
suma[2 * dimension + 1] = suma[2 * dimension + 1] + matriz[i]
[(dimension - 1) - i];
printf("t %d", suma[2 * dimension + 1]);
}
printf("nn");
//verificar si la matriz es magica
cont = 0;
cont = suma[0];
for (i = 1; i < 2 * dimension + 1; i++)
{
if ((cont != suma[i]))
{
printf("La matriz no es magica");
i = 2 * dimension + 3;
}
else
if (i = 2 * dimension + 2)
{
printf("La matriz es magica y su suma es %d", cont);
}
}
getchar();
getchar();
return 0;
}
--------------------------------------------------------------------------------
----------
PROGRAMA EN JAVA
package javaapplication1;
import java.util.*;
public class JavaApplication1
{
public static void main(String[] args)
{
int i, j, aux, dimension, cont;
Scanner dato=new Scanner(System.in);
System.out.print("Porfavor ingrese la dimension de la matriz con la que
desea trabajar ");
dimension=dato.nextInt();
int matriz[][]=new int[10][10];
int suma[]=new int[300];
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
System.out.print("Digite los elementos de la matriz en la
posicion " + i + j+": " );
matriz[i][j]=dato.nextInt();
}
System.out.print("nn");
}
System.out.println("La matriz es: ");
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
System.out.print("t"+matriz[i][j]);
}
System.out.print("n");
}
System.out.print("n");
System.out.println("+++++ Suma de matriz filas +++++");
for (i = 0; i < 2 * dimension + 2; i++)
{
suma[i] = 0;
}
//suma filas
for (i = 0; i < dimension; i++)
{
for (j = 0; j < dimension; j++)
{
suma[i] = matriz[i][j]+suma[i];
System.out.print("t" + suma[i]);
}
System.out.print("nn");
}
System.out.print("n");
System.out.println("+++++ Suma de matriz columnas +++++");
//suma columnas
for (j = 0; j < dimension; j++)
{
for (i = 0; i < dimension; i++)
{
suma[j + dimension] = matriz[i][j]+suma[j + dimension] ;
System.out.print("t "+ suma[j + dimension]);
}
System.out.print("nn");
}
System.out.print("n");
System.out.println("+++++ Suma de matriz diagonales +++++");
//suma diagonales
for (i = 0; i < dimension; i++)
{
suma[2 * dimension] = matriz[i][i]+suma[2 * dimension] ;
System.out.print("t "+ suma[2 * dimension]);
}
System.out.println("nn");
for (i = 0; i < dimension; i++)
{
suma[2 * dimension + 1] = matriz[i][(dimension - 1) - i]+suma[2 *
dimension + 1] ;
System.out.print("t "+ suma[2 * dimension + 1]);
}
System.out.print("nn");
//verificar si la matriz es magica
cont = 0;
cont = suma[0];
for (i = 1; i < 2 * dimension+1 ; i++)
{
if (cont != suma[i])
{
System.out.println("La matriz no es magica");
i=2*dimension+3;
}
else
{
if (cont == suma[i])
{
System.out.println("La matriz es magica y su suma es
"+cont);
i=2*dimension+3;
}
}
}
}
}
--------------------------------------------------------------------------------
----------------
PROGRAMA EN VISUAL BASIC
Sub stefy()
' Matriz Magica
'
Dim i As Integer
Dim j As Integer
Dim aux As Integer
Dim dimension As Integer
Dim cont As Integer
Dim Matriz(10, 10) As Integer
Dim suma(300) As Integer
dimension = InputBox("Porfavor ingrese la dimension de la matriz con la que
desea trabajar ")
For i = 0 To dimension - 1
For j = 0 To dimension - 1
Matriz(i, j) = InputBox("Digite los elementos de la matriz en la
posicion: " & i & "." & j)
Next j
Next i
Worksheets("Hoja1").Cells(1, 2).Value = ("PROYECTO DE MATRIZ MÁGICA ")
Worksheets("Hoja1").Cells(3, 2).Value = ("La matriz es: ")
Cells(3, 2).Interior.ColorIndex = 39
Cells(3, 2).BorderAround (xlContinuous)
Cells(3, 2).BorderAround (xlHairline)
For i = 0 To dimension - 1
For j = 0 To dimension - 1
Worksheets("Hoja1").Cells(4 + i, 2 + j).Value = (Matriz(i, j))
Cells(4 + i, 2 + j).Interior.ColorIndex = 40
Cells(4 + i, 2 + j).BorderAround (xlContinuous)
Cells(4 + i, 2 + j).BorderAround (xlHairline)
Next j
Next i
For i = 0 To 2 * dimension + 2
suma(i) = 0
Next i
'Suma Filas
Worksheets("Hoja1").Cells(9, 1).Value = ("La suma de sus filas es: ")
Cells(9, 1).Interior.ColorIndex = 43
Cells(9, 1).BorderAround (xlContinuous)
Cells(9, 1).BorderAround (xlHairline)
For i = 0 To dimension - 1
Worksheets("Hoja1").Cells(10 + i, 1).Value = ("Suma fila " & i + 1)
Cells(10 + i, 1).Interior.ColorIndex = 44
Cells(10 + i, 1).BorderAround (xlContinuous)
Cells(10 + i, 1).BorderAround (xlHairline)
For j = 0 To dimension - 1
suma(i) = suma(i) + Matriz(i, j)
Worksheets("Hoja1").Cells(10 + i, 2 + j).Value = (suma(i))
Cells(10 + i, 2 + j).Interior.ColorIndex = 45
Cells(10 + i, 2 + j).BorderAround (xlContinuous)
Cells(10 + i, 2 + j).BorderAround (xlHairline)
Next j
Next i
'Suma Columnas
Worksheets("Hoja1").Cells(15, 1).Value = ("La suma de sus columnas es: ")
Cells(15, 1).Interior.ColorIndex = 10
Cells(15, 1).BorderAround (xlContinuous)
Cells(15, 1).BorderAround (xlHairline)
For j = 0 To dimension - 1
For i = 0 To dimension - 1
suma(j + dimension) = suma(j + dimension) + Matriz(i, j)
Worksheets("Hoja1").Cells(16, 1 + j).Value = ("Suma columna " & j + 1)
Cells(16, 1 + j).Interior.ColorIndex = 44
Cells(16, 1 + j).BorderAround (xlContinuous)
Cells(16, 1 + j).BorderAround (xlHairline)
Worksheets("Hoja1").Cells(17 + i, 1 + j).Value = (suma(j + dimension))
Cells(17 + i, 1 + j).Interior.ColorIndex = 45
Cells(17 + i, 1 + j).BorderAround (xlContinuous)
Cells(17 + i, 1 + j).BorderAround (xlHairline)
Next i
Next j
'Suma Diagonales
j = 0
Worksheets("Hoja1").Cells(21, 1).Value = ("La suma de sus diagonales es: ")
Cells(21, 1).Interior.ColorIndex = 23
Cells(21, 1).BorderAround (xlContinuous)
Cells(21, 1).BorderAround (xlHairline)
For i = 0 To dimension - 1
Worksheets("Hoja1").Cells(22, 1).Value = ("Suma diagonal izq-der ")
Cells(22, 1).Interior.ColorIndex = 46
Cells(22, 1).BorderAround (xlContinuous)
Cells(22, 1).BorderAround (xlHairline)
suma(2 * dimension) = suma(2 * dimension) + Matriz(i, i)
Worksheets("Hoja1").Cells(22 + i, 2 + j).Value = (suma(2 * dimension))
Cells(22 + i, 2 + j).Interior.ColorIndex = 44
Cells(22 + i, 2 + j).BorderAround (xlContinuous)
Cells(22 + i, 2 + j).BorderAround (xlHairline)
j = j + 1
Next i
Worksheets("Hoja1").Cells(22, j + 2).Value = ("Suma diagonal der-izq ")
Cells(22, j + 2).Interior.ColorIndex = 22
Cells(22, j + 2).BorderAround (xlContinuous)
Cells(22, j + 2).BorderAround (xlHairline)
For i = 0 To dimension - 1
suma(2 * dimension + 1) = suma(2 * dimension + 1) + Matriz(i, (dimension -
1) - i)
Worksheets("Hoja1").Cells(22 + i, 3 + j).Value = (suma(2 * dimension + 1))
Cells(22 + i, 3 + j).Interior.ColorIndex = 44
Cells(22 + i, 3 + j).BorderAround (xlContinuous)
Cells(22 + i, 3 + j).BorderAround (xlHairline)
j = j + 1
Next i
'Verificar si la matriz es magica
cont = 0
cont = suma(0)
For i = 1 To 2 * dimension + 1
If (cont = suma(i)) Then
Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz es magica y su suma
es " & cont)
Cells(27, 1).Interior.ColorIndex = 3
Else
If (cont <> suma(i)) Then
Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz no es magica")
Cells(27, 1).Interior.ColorIndex = 3
End If
End If
Next i
End Sub
Worksheets("Hoja1").Cells(17 + i, 1 + j).Value = (suma(j + dimension))
Cells(17 + i, 1 + j).Interior.ColorIndex = 45
Cells(17 + i, 1 + j).BorderAround (xlContinuous)
Cells(17 + i, 1 + j).BorderAround (xlHairline)
Next i
Next j
'Suma Diagonales
j = 0
Worksheets("Hoja1").Cells(21, 1).Value = ("La suma de sus diagonales es: ")
Cells(21, 1).Interior.ColorIndex = 23
Cells(21, 1).BorderAround (xlContinuous)
Cells(21, 1).BorderAround (xlHairline)
For i = 0 To dimension - 1
Worksheets("Hoja1").Cells(22, 1).Value = ("Suma diagonal izq-der ")
Cells(22, 1).Interior.ColorIndex = 46
Cells(22, 1).BorderAround (xlContinuous)
Cells(22, 1).BorderAround (xlHairline)
suma(2 * dimension) = suma(2 * dimension) + Matriz(i, i)
Worksheets("Hoja1").Cells(22 + i, 2 + j).Value = (suma(2 * dimension))
Cells(22 + i, 2 + j).Interior.ColorIndex = 44
Cells(22 + i, 2 + j).BorderAround (xlContinuous)
Cells(22 + i, 2 + j).BorderAround (xlHairline)
j = j + 1
Next i
Worksheets("Hoja1").Cells(22, j + 2).Value = ("Suma diagonal der-izq ")
Cells(22, j + 2).Interior.ColorIndex = 22
Cells(22, j + 2).BorderAround (xlContinuous)
Cells(22, j + 2).BorderAround (xlHairline)
For i = 0 To dimension - 1
suma(2 * dimension + 1) = suma(2 * dimension + 1) + Matriz(i, (dimension -
1) - i)
Worksheets("Hoja1").Cells(22 + i, 3 + j).Value = (suma(2 * dimension + 1))
Cells(22 + i, 3 + j).Interior.ColorIndex = 44
Cells(22 + i, 3 + j).BorderAround (xlContinuous)
Cells(22 + i, 3 + j).BorderAround (xlHairline)
j = j + 1
Next i
'Verificar si la matriz es magica
cont = 0
cont = suma(0)
For i = 1 To 2 * dimension + 1
If (cont = suma(i)) Then
Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz es magica y su suma
es " & cont)
Cells(27, 1).Interior.ColorIndex = 3
Else
If (cont <> suma(i)) Then
Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz no es magica")
Cells(27, 1).Interior.ColorIndex = 3
End If
End If
Next i
End Sub

Los dskn

  • 1.
    PROGRAMA EN C //ConsoleApplication5.cpp: define el punto de entrada de la aplicación de consola. // #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "time.h" int _tmain(int argc, _TCHAR* argv[]) { system("color F0"); int i, j, aux, dimension, suma[300], cont, matriz[10][10]; printf("Porfavor ingrese la dimension de la matriz con la que desea trabajar "); //srand(time(NULL)); Únicamente se utiliza para generar números aleatorios pero no fue necesario scanf_s("%d", &dimension); for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { printf("Digite los elementos de la matriz en la posicion %d %d ", i, j); scanf_s("%d", &matriz[i][j]); } printf("nn"); } for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { printf("t%d", matriz[i][j]); } printf("nn"); } printf("n"); printf("+++++ Suma de matriz filas +++++"); printf("n"); for (i = 0; i < 2 * dimension + 2; i++) { suma[i] = 0; } //suma filas for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { suma[i] = suma[i] + matriz[i][j]; printf("t %d", suma[i]); } printf("nn"); } printf("n"); printf("+++++ Suma de matriz columnas +++++"); printf("n");
  • 2.
    //suma columnas for (j= 0; j < dimension; j++) { for (i = 0; i < dimension; i++) { suma[j + dimension] = suma[j + dimension] + matriz[i][j]; printf("t %d", suma[j + dimension]); } printf("nn"); } printf("n"); printf("+++++ Suma de matriz diagonales +++++"); printf("n"); //suma diagonales for (i = 0; i < dimension; i++) { suma[2 * dimension] = suma[2 * dimension] + matriz[i][i]; printf("t %d", suma[2 * dimension]); } printf("nn"); printf("n"); for (i = 0; i < dimension; i++) { suma[2 * dimension + 1] = suma[2 * dimension + 1] + matriz[i] [(dimension - 1) - i]; printf("t %d", suma[2 * dimension + 1]); } printf("nn"); //verificar si la matriz es magica cont = 0; cont = suma[0]; for (i = 1; i < 2 * dimension + 1; i++) { if ((cont != suma[i])) { printf("La matriz no es magica"); i = 2 * dimension + 3; } else if (i = 2 * dimension + 2) { printf("La matriz es magica y su suma es %d", cont); } } getchar(); getchar(); return 0; } -------------------------------------------------------------------------------- ---------- PROGRAMA EN JAVA package javaapplication1; import java.util.*; public class JavaApplication1 {
  • 3.
    public static voidmain(String[] args) { int i, j, aux, dimension, cont; Scanner dato=new Scanner(System.in); System.out.print("Porfavor ingrese la dimension de la matriz con la que desea trabajar "); dimension=dato.nextInt(); int matriz[][]=new int[10][10]; int suma[]=new int[300]; for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { System.out.print("Digite los elementos de la matriz en la posicion " + i + j+": " ); matriz[i][j]=dato.nextInt(); } System.out.print("nn"); } System.out.println("La matriz es: "); for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { System.out.print("t"+matriz[i][j]); } System.out.print("n"); } System.out.print("n"); System.out.println("+++++ Suma de matriz filas +++++"); for (i = 0; i < 2 * dimension + 2; i++) { suma[i] = 0; } //suma filas for (i = 0; i < dimension; i++) { for (j = 0; j < dimension; j++) { suma[i] = matriz[i][j]+suma[i]; System.out.print("t" + suma[i]); } System.out.print("nn"); } System.out.print("n"); System.out.println("+++++ Suma de matriz columnas +++++"); //suma columnas for (j = 0; j < dimension; j++) { for (i = 0; i < dimension; i++) { suma[j + dimension] = matriz[i][j]+suma[j + dimension] ;
  • 4.
    System.out.print("t "+ suma[j+ dimension]); } System.out.print("nn"); } System.out.print("n"); System.out.println("+++++ Suma de matriz diagonales +++++"); //suma diagonales for (i = 0; i < dimension; i++) { suma[2 * dimension] = matriz[i][i]+suma[2 * dimension] ; System.out.print("t "+ suma[2 * dimension]); } System.out.println("nn"); for (i = 0; i < dimension; i++) { suma[2 * dimension + 1] = matriz[i][(dimension - 1) - i]+suma[2 * dimension + 1] ; System.out.print("t "+ suma[2 * dimension + 1]); } System.out.print("nn"); //verificar si la matriz es magica cont = 0; cont = suma[0]; for (i = 1; i < 2 * dimension+1 ; i++) { if (cont != suma[i]) { System.out.println("La matriz no es magica"); i=2*dimension+3; } else { if (cont == suma[i]) { System.out.println("La matriz es magica y su suma es "+cont); i=2*dimension+3; } } } } } -------------------------------------------------------------------------------- ---------------- PROGRAMA EN VISUAL BASIC Sub stefy() ' Matriz Magica ' Dim i As Integer Dim j As Integer Dim aux As Integer Dim dimension As Integer Dim cont As Integer
  • 5.
    Dim Matriz(10, 10)As Integer Dim suma(300) As Integer dimension = InputBox("Porfavor ingrese la dimension de la matriz con la que desea trabajar ") For i = 0 To dimension - 1 For j = 0 To dimension - 1 Matriz(i, j) = InputBox("Digite los elementos de la matriz en la posicion: " & i & "." & j) Next j Next i Worksheets("Hoja1").Cells(1, 2).Value = ("PROYECTO DE MATRIZ MÁGICA ") Worksheets("Hoja1").Cells(3, 2).Value = ("La matriz es: ") Cells(3, 2).Interior.ColorIndex = 39 Cells(3, 2).BorderAround (xlContinuous) Cells(3, 2).BorderAround (xlHairline) For i = 0 To dimension - 1 For j = 0 To dimension - 1 Worksheets("Hoja1").Cells(4 + i, 2 + j).Value = (Matriz(i, j)) Cells(4 + i, 2 + j).Interior.ColorIndex = 40 Cells(4 + i, 2 + j).BorderAround (xlContinuous) Cells(4 + i, 2 + j).BorderAround (xlHairline) Next j Next i For i = 0 To 2 * dimension + 2 suma(i) = 0 Next i 'Suma Filas Worksheets("Hoja1").Cells(9, 1).Value = ("La suma de sus filas es: ") Cells(9, 1).Interior.ColorIndex = 43 Cells(9, 1).BorderAround (xlContinuous) Cells(9, 1).BorderAround (xlHairline) For i = 0 To dimension - 1 Worksheets("Hoja1").Cells(10 + i, 1).Value = ("Suma fila " & i + 1) Cells(10 + i, 1).Interior.ColorIndex = 44 Cells(10 + i, 1).BorderAround (xlContinuous) Cells(10 + i, 1).BorderAround (xlHairline) For j = 0 To dimension - 1 suma(i) = suma(i) + Matriz(i, j) Worksheets("Hoja1").Cells(10 + i, 2 + j).Value = (suma(i)) Cells(10 + i, 2 + j).Interior.ColorIndex = 45 Cells(10 + i, 2 + j).BorderAround (xlContinuous) Cells(10 + i, 2 + j).BorderAround (xlHairline) Next j Next i 'Suma Columnas Worksheets("Hoja1").Cells(15, 1).Value = ("La suma de sus columnas es: ") Cells(15, 1).Interior.ColorIndex = 10 Cells(15, 1).BorderAround (xlContinuous) Cells(15, 1).BorderAround (xlHairline) For j = 0 To dimension - 1 For i = 0 To dimension - 1 suma(j + dimension) = suma(j + dimension) + Matriz(i, j) Worksheets("Hoja1").Cells(16, 1 + j).Value = ("Suma columna " & j + 1) Cells(16, 1 + j).Interior.ColorIndex = 44 Cells(16, 1 + j).BorderAround (xlContinuous) Cells(16, 1 + j).BorderAround (xlHairline)
  • 6.
    Worksheets("Hoja1").Cells(17 + i,1 + j).Value = (suma(j + dimension)) Cells(17 + i, 1 + j).Interior.ColorIndex = 45 Cells(17 + i, 1 + j).BorderAround (xlContinuous) Cells(17 + i, 1 + j).BorderAround (xlHairline) Next i Next j 'Suma Diagonales j = 0 Worksheets("Hoja1").Cells(21, 1).Value = ("La suma de sus diagonales es: ") Cells(21, 1).Interior.ColorIndex = 23 Cells(21, 1).BorderAround (xlContinuous) Cells(21, 1).BorderAround (xlHairline) For i = 0 To dimension - 1 Worksheets("Hoja1").Cells(22, 1).Value = ("Suma diagonal izq-der ") Cells(22, 1).Interior.ColorIndex = 46 Cells(22, 1).BorderAround (xlContinuous) Cells(22, 1).BorderAround (xlHairline) suma(2 * dimension) = suma(2 * dimension) + Matriz(i, i) Worksheets("Hoja1").Cells(22 + i, 2 + j).Value = (suma(2 * dimension)) Cells(22 + i, 2 + j).Interior.ColorIndex = 44 Cells(22 + i, 2 + j).BorderAround (xlContinuous) Cells(22 + i, 2 + j).BorderAround (xlHairline) j = j + 1 Next i Worksheets("Hoja1").Cells(22, j + 2).Value = ("Suma diagonal der-izq ") Cells(22, j + 2).Interior.ColorIndex = 22 Cells(22, j + 2).BorderAround (xlContinuous) Cells(22, j + 2).BorderAround (xlHairline) For i = 0 To dimension - 1 suma(2 * dimension + 1) = suma(2 * dimension + 1) + Matriz(i, (dimension - 1) - i) Worksheets("Hoja1").Cells(22 + i, 3 + j).Value = (suma(2 * dimension + 1)) Cells(22 + i, 3 + j).Interior.ColorIndex = 44 Cells(22 + i, 3 + j).BorderAround (xlContinuous) Cells(22 + i, 3 + j).BorderAround (xlHairline) j = j + 1 Next i 'Verificar si la matriz es magica cont = 0 cont = suma(0) For i = 1 To 2 * dimension + 1 If (cont = suma(i)) Then Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz es magica y su suma es " & cont) Cells(27, 1).Interior.ColorIndex = 3 Else If (cont <> suma(i)) Then Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz no es magica") Cells(27, 1).Interior.ColorIndex = 3 End If End If Next i End Sub
  • 7.
    Worksheets("Hoja1").Cells(17 + i,1 + j).Value = (suma(j + dimension)) Cells(17 + i, 1 + j).Interior.ColorIndex = 45 Cells(17 + i, 1 + j).BorderAround (xlContinuous) Cells(17 + i, 1 + j).BorderAround (xlHairline) Next i Next j 'Suma Diagonales j = 0 Worksheets("Hoja1").Cells(21, 1).Value = ("La suma de sus diagonales es: ") Cells(21, 1).Interior.ColorIndex = 23 Cells(21, 1).BorderAround (xlContinuous) Cells(21, 1).BorderAround (xlHairline) For i = 0 To dimension - 1 Worksheets("Hoja1").Cells(22, 1).Value = ("Suma diagonal izq-der ") Cells(22, 1).Interior.ColorIndex = 46 Cells(22, 1).BorderAround (xlContinuous) Cells(22, 1).BorderAround (xlHairline) suma(2 * dimension) = suma(2 * dimension) + Matriz(i, i) Worksheets("Hoja1").Cells(22 + i, 2 + j).Value = (suma(2 * dimension)) Cells(22 + i, 2 + j).Interior.ColorIndex = 44 Cells(22 + i, 2 + j).BorderAround (xlContinuous) Cells(22 + i, 2 + j).BorderAround (xlHairline) j = j + 1 Next i Worksheets("Hoja1").Cells(22, j + 2).Value = ("Suma diagonal der-izq ") Cells(22, j + 2).Interior.ColorIndex = 22 Cells(22, j + 2).BorderAround (xlContinuous) Cells(22, j + 2).BorderAround (xlHairline) For i = 0 To dimension - 1 suma(2 * dimension + 1) = suma(2 * dimension + 1) + Matriz(i, (dimension - 1) - i) Worksheets("Hoja1").Cells(22 + i, 3 + j).Value = (suma(2 * dimension + 1)) Cells(22 + i, 3 + j).Interior.ColorIndex = 44 Cells(22 + i, 3 + j).BorderAround (xlContinuous) Cells(22 + i, 3 + j).BorderAround (xlHairline) j = j + 1 Next i 'Verificar si la matriz es magica cont = 0 cont = suma(0) For i = 1 To 2 * dimension + 1 If (cont = suma(i)) Then Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz es magica y su suma es " & cont) Cells(27, 1).Interior.ColorIndex = 3 Else If (cont <> suma(i)) Then Worksheets("Hoja1").Cells(27, 1).Value = ("La matriz no es magica") Cells(27, 1).Interior.ColorIndex = 3 End If End If Next i End Sub