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