A voir également:
- Aide pour un programme en C " carrée magique&
- Éponge magique danger - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
1 réponse
/**
* \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