sk nesrine | c'est le code d'un carré magique . j'ai un probleme quand avec la fonction verifMagique partie aprés else car meme quand j'introduit une matrice magique exp de carré magique 2 7 6 9 5 1 4 3 8
Code :
- #include<stdio.h>
- #include<conio.h>
- void saisieMat(int T[50][50],int n)
- {int i,j;
- printf("saisir\n" );
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {
- printf("T[%d][%d]=\t",i,j);
- scanf("%d",&T[i][j]);
- }
- }
- void afficher(int T[50][50],int n)
- {
- int i,j;
- printf("les elements du tab\n" );
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- printf("%d\t",T[i][j]);
- }
- int verifMagique(int T[50][50],int n)
- {
- int verif,i,j,d1,d2,s1,s2;
- d1=0;
- d2=0;
- s1=0;
- s2=0;
- verif=1;
- for(i=0;i<n;i++)
- {
- d1=d1+T[i][i];
- d2=d2+T[i][n-1-i];
- }
- if(d1!=d2)
- verif=0;
- else
- { j=0;
- do
- {
- for(i=0;i<n;i++)
- {
- s1+=T[j][i];
- s2+=T[i][j];
- } j++;
- if(s1!=d1||s2!=d1)
- verif=0;
- }while(j<=n&&verif==1);}
- return(verif);}
- int main()
- {int n,verif;
- int T[50][50];
- do
- {printf("saisir taille de la matrice n=" );
- scanf("%d",&n);
- }while(0>=n);
- saisieMat(T,n);
- afficher(T,n);
- verif=verifMagique(T,n);
- printf("\ncarre magique si verif = 1 sinon verif=0\nverif=%d",verif);
- }
|
merci Message édité par gilou le 16-11-2014 à 11:20:08
|