Guião laboratorial n.º 0 – exercício 8

“Um quadrado mágico é uma matriz 3×3 contendo valores entre 1 e 9 (sem repetições), de tal forma que a soma dos elementos de qualquer uma das linhas, colunas e diagonais é sempre igual. A figura seguinte mostra um exemplo de um quadrado mágico:
6 1 8
7 5 3
2 9 4
desenvolva uma função que verifique se uma matriz 3×3 passada como argumento é um quadrado mágico. A função devolve 1 se isso se verificar ou 0 no caso contrário.”

#include <stdio.h>
#include <stdlib.h>

#define LINHAS 3
#define COLUNAS 3
#define TAM 9

int quadradomagico(int v[TAM]){
int i,j, conta=0, vector[LINHAS][COLUNAS];

//preencher e mostrar
for(i=0; i<LINHAS ; i++){
        for(j=0; j<COLUNAS && conta < 10; j++){
        vector[i][j]=v[conta];
        conta++;
}}
printf("\n conta  %d\n", conta);
for(i=0; i<LINHAS; i++){
        for(j=0; j<COLUNAS; j++){
        printf("%d",vector[i][j]);
}
printf("\n");
}
return 0;
}

int main ()
{
    int dados[TAM]={6,1,8,7,5,3,2,9,4};
    quadradomagico(dados);
return 0;
}


Tags :