Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 KB | None | 0 0
  1. /*
  2.                                     les j
  3.  
  4.  
  5.                                 t[i][j] 0 1 2...nb
  6.                                        \__________
  7.                                                                  0  \_\_\_\_\_\
  8.                             les i         1  \_\_\_\_\_\
  9.                                     2 \_\_\_\_\_\
  10.                                      . \_\_\_\_\_\
  11.                                          nb \_\_\_\_\_\
  12.  
  13.  
  14.  
  15. Un carré magique est un carré dont la somme de chaque ligne =somme de chaque collonnes=sommes des diagonales
  16. */
  17.  
  18. 2.2 Verification carré magique
  19.  
  20. fonction saisietableau2DIM(tableau de reel t1[0....nb-1][0...nb-1]):entier
  21.  
  22.         nb,i,j:
  23.         entier
  24.         DEBUT {
  25.     t[0....nb-1][0...nb-1]
  26.     ecrire("Saisir la longueur d'un coté du carré")
  27.     lire(nb)
  28.  
  29.     TANT QUE(nb==0) faire{
  30.         ecrire("Resaisissez la valeur")
  31.         lire(t1[i][j])
  32.     } finTANTQUE
  33.     POUR i de 0 a nb-1  faire{
  34.         POUR j de 0 a nb-1 faire{
  35.             ecrire("Saisir une valeur")
  36.             lire(t1[i][j])
  37.             TANT QUE(t1[i][j]==0) faire{
  38.                 ecrire("Resaisissez la valeur")
  39.                 lire(t1[i][j])
  40.             } finTANTQUE
  41.         } finPOUR
  42.     } finPOUR
  43.     retourner nb
  44. } FIN
  45. ========================================================================================================
  46. var t:
  47. tableau d'entier [0...nb-1][0...nb-1]
  48. nb :entier
  49. i,j,k : entier
  50. res1,test :entier
  51. stop :booleen
  52. DEBUT
  53. res1,res2,test <--0
  54. nb <- saisietableau2DIM (t)//tableau de taille nb de coté
  55. i<--0
  56. k<--0
  57. j<--0
  58.  
  59. POUR j de 0 a nb-1 faire{// valeur de test des lignes
  60.     test<--test+t[i][j]
  61. }finPOUR
  62. stop=1
  63.         POUR i de 0 a nb-1 && stop==1 faire{
  64.             res1<-0
  65.             res2<-0
  66.             POUR j de 0 a nb-1 && stop==1 faire{
  67.                 res1<--res1+t[i][j]
  68.                 res2<--res2+t[j][i]
  69.             }finPOUR
  70.             si (test != res1 || test !=res2){
  71.                 alors stop <- 0
  72.             }finSI
  73.            
  74.         }fin pour
  75.         i<--0
  76.         k<--0
  77.         j<--0
  78.         res1<-0
  79.         res2 <--0
  80.         POUR k de 0 a nb-1 && stop==1 faire{
  81.             res1<--res1+t[k][k]
  82.             res2<--res2+t[nb-1-k][k]
  83.             si (test != res1 || test !=res2){
  84.                 alors stop <- 0
  85.             } FINSI
  86.            
  87.         } fin pour
  88.        
  89. SI(stop)faire
  90.     ecrire("Le carré est magique")
  91. SINON
  92.     ecrire("Le carré n'est pas magique")
  93. FINSI
  94.  
  95. FIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement