Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos
de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais
principal e secundária são todas iguais.
Exemplo: A matriz
é um quadrado mágico.
Leia uma matriz quadrada Anxn , verificar se A é um quadrado mágico.
PROG_QUAD_MAGICO
VAR
i,j,k: INTEIRO
DP,DS,LOK,COK,DPOK,DSOK,VL,VC:
INTEIRO
A(3,3),SL(3),SC(3):
VETOR DE INTEIRO
DP=0
DS=0
LOK = 0
COK = 0
DPOK = 0
DSOK =0
// Diagonal Principal
// Diagonal Secundária
// ===============LEITURA DA MATRIZ====================
ESCREVA "entre com os elementos da matriz A \n "
PARA i=1,3
PARA j=1,3
LEIA A(i,j)
FIM_PARA
FIM_PARA
// ===============IMPRIMINDO A MATRIZ====================
ESCREVA "matriz A"
PARA i=1,3
PARA j=1,3
ESCREVA A(i,j)
FIM_PARA
FIM_PARA
// =========================
ESCREVA “Verificar o somatorio linha - coluna e diagonais"
PARA i=0,3
SL(i)=0
SC(i)=0
// ZERANDO O SOMATORIO DA LINHA
// ZERANDO O SOMATORIO DA COLUNA
// SOMATORIO DA DIAG. PRINCIPAL
DP = DP + A(i,i)
PARA j=0,3
SL(i) = SL(i) + A(i,j)
// SOMATORIO DA LINHA
SC(i) = SC(i) + A(j,i)
// SOMATORIO DA COLUNA
SE ( (i + j) = 3 ) ENTAO
DS = DS + A(i,j)
// SOMATORIO DA DIAG. SECUNDARIA
FIM_SE
FIM_PARA
FIM_PARA
// ===============TESTANDO SE AS LINHAS SÃO IGUAIS==========
PARA i=1,3
PARA j=i,3
SE ( SL(i) = SL(j) )
LOK = 1;
VL = SL(i)
SENAO
LOK = 0
FIM_SE
FIM_ PARA
FIM_ PARA
// LINHAS IGUAIS
// VALOR DA SOMA DA LINHA
// ===============TESTANDO SE AS COLUNAS SÃO IGUAIS==========
PARA i=1,3
PARA j=i,3
SE ( SC(i) = SC(j) )
COK = 1;
VC = SL(i)
SENAO
COK = 0
FIM_SE
FIM_ PARA
// COLUNAS IGUAIS
// VALOR DA SOMA DA COLUNA
FIM_ PARA
// ===============TESTANDO CONDICAO DE QUAD. MÁGICO==========
SE ( (LOK = 1) E (COK = 1 ) )
SE ( (VL = VC ) E (VL = DP ) E (VL = DS) )
ESCREVA “A matriz eh um quadrado mágico” , VL
FIM_SE
FIM_SE
FIM _PROG_QUAD_MAGICO
Download

Dizemos que uma matriz quadrada inteira é um