Aide pour un programme en C " carrée magique&

Fermé
dragonzeuss Messages postés 1 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 7 novembre 2005 - 7 nov. 2005 à 19:20
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 8 nov. 2005 à 01:16
j' ai des difflicultés a faire un programme en C qui vérifie si un carrée est magique ou non
si quelqu un peut maidez sa serai gentil
merci
A voir également:

1 réponse

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
8 nov. 2005 à 01:16
/**
* \brief teste si un carre est magique
* \param carre Le carre a tester (tableau de tableau d'entier)
* \param dim la taille des tableaux (ie nb de ligne et de colonne)
* \return 1 si magique 0 sinon
*/
int est_magique(int ** carre, int dim){
   unsigned int i,j,ref,s=0;
   //Somme verticale colonne gauche
   for(i=0;i<dim;++i) ref+=carre[i][0];
   for(j=1;j<dim;++j){
       s=0;
       //Sommes verticales des autres colonnes
       for(i=0;i<dim;++i)  s+=carre[i][j];
        if (s!=ref) return 0; //<-- pas magique
   }

   //Diagonale descendante
   s=0;
   for(i=0;i<dim;++i) s+=carre[i][i];
   if (s!=ref) return 0;

  //Diagonale montante
   s=0;
   for(i=0;i<dim;++i) s+=carre[dim-i][i];
   if (s!=ref) return 0;

  //Somme horizontales
   for(j=0;j<dim;++j){
       s=0;
       for(i=0;i<dim;++i)  s+=carre[j][i];
        if (s!=ref) return 0;
   }
    return 1;//<-- carre magique
}

ou truc dans le genre
0