Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.29 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. */
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. 2.2 Verification carré magique
  24.  
  25. fonction saisietableau2DIM(tableau de reel t1[0....nb-1][0...nb-1]):entier
  26.  
  27.         nb,i,j:
  28.         entier
  29.         DEBUT {
  30.     t[0....nb-1][0...nb-1]
  31.     ecrire("Saisir la longueur d'un coté du carré")
  32.     lire(nb)
  33.  
  34.     TANT QUE(nb==0) faire{
  35.         ecrire("Resaisissez la valeur")
  36.         lire(t1[i][j])
  37.     } finTANTQUE
  38.     POUR i de 0 a nb-1 faire{
  39.  
  40.         POUR j de 0 a nb-1 faire{
  41.             ecrire("Saisir une valeur")
  42.             lire(t1[i][j])
  43.             TANT QUE(t1[i][j]==0) faire{
  44.                 ecrire("Resaisissez la valeur")
  45.                 lire(t1[i][j])
  46.             } finTANTQUE
  47.  
  48.  
  49.         } finPOUR
  50.  
  51.     } finPOUR
  52.     retourner nb
  53. } FIN
  54. ========================================================================================================
  55. var t:
  56. tableau d'entier [0...nb-1][0...nb-1]
  57. nb :entier
  58. i,j,k : entier
  59. res1,test,cpt :entier
  60. stop :booleen
  61. DEBUT
  62. res1,test <--0
  63. nb <- saisietableau2DIM (t)//tableau de taille nb de coté
  64. i<--0
  65. k<--0
  66. j<--0
  67.  
  68. POUR j de 0 a nb-1 faire{// valeur de test des lignes
  69.     test<--test+t[i][j]
  70. }finPOUR
  71. stop=1
  72. cpt=0
  73.     //TantQue ( stop != 0 et cpt <= 2nb+2){
  74.         POUR i de 0 a nb-1 faire{
  75.             res1<-0
  76.             POUR j de 0 a nb-1 faire{
  77.                 res1<--res1+t[i][j]
  78.             }finPOUR
  79.             si test != res1{
  80.                 alors stop <- 0
  81.             }finSI
  82.             ctp++
  83.         }fin pour
  84.         POUR j de 0 a nb-1 faire{
  85.             res1<-0
  86.             POUR i de 0 a nb-1 faire{
  87.                 res1<--res1+t[i][j]
  88.             }finPOUR
  89.             si test != res1{
  90.                 alors stop <- 0
  91.             }FINSI
  92.             ctp++
  93.         }fin pour
  94.         i<--0
  95.         k<--0
  96.         j<--0
  97.         res1<-0
  98.         POUR k de 0 a nb-1 faire{
  99.             res1<--res1+t[i+k][j+k]
  100.             si test != res1{
  101.                 alors stop <- 0
  102.             } FINSI
  103.            
  104.         } fin pour
  105.         ctp++
  106.         i<--0
  107.         k<--0
  108.         j<--0
  109.         res1<-0
  110.         POUR k de 0 a nb-1 faire{
  111.             res1<--res1+t[nb-k-1][k]
  112.             si test != res1{
  113.                 alors stop <- 0
  114.             }fin SI
  115.         }fin pour
  116.         cpt++
  117.     //}FINTANTQUE
  118.  
  119.  
  120. SI(stop)faire
  121.     ecrire("Le carré est magique")
  122. SINON
  123.     ecrire("Le carré n'est pas magique")
  124. FINSI
  125.  
  126. FIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement