Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 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.         si (test != res1 || test !=res2){
  76.             alors stop <- 0
  77.         }finSI
  78.         i<--0
  79.         k<--0
  80.         j<--0
  81.         res1<-0
  82.         res2 <--0
  83.         POUR k de 0 a nb-1 && stop==1 faire{
  84.             res1<--res1+t[k][k]
  85.             res2<--res2+t[nb-1-k][k]
  86.            
  87.            
  88.         } fin pour
  89.         si (test != res1 || test !=res2){
  90.                 alors stop <- 0
  91.         } FINSI
  92. SI(stop)faire
  93.     ecrire("Le carré est magique")
  94. SINON
  95.     ecrire("Le carré n'est pas magique")
  96. FINSI
  97.  
  98. FIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement