bonsoir! j'ai besoin d'aide svp! je voudrai traduire un programme en langage algorithme afin de le retranscrire dans un autre langage. ce dernier etant ecrit en c et je debute à peine avec
donc voici le programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <stdio.h>
#define NB_LIG 3
#define NB_COL 3
 
typedef enum {VIDE, ROND, CROIX} ValeurGrille;
typedef enum {FALSE, TRUE} Boolean;
static ValeurGrille grille[NB_LIG][NB_COL]; 
 
static int prochainJoueur = ROND;
 
void initialiseGrille() {
  int i, j;
  for (i=0; i<NB_LIG; i++) {
    for (j=0; j<NB_COL; j++) {
      grille[i][j] = VIDE;
    }
  }
}
 
/*
  Affiche la grille du morpion
  _ indique case vide, O pion joueur 1 et X pion jour 2
 */
void afficheGrille() {
  int i, j;
  for (i=0; i<NB_LIG; i++) {
    for (j=0; j<NB_COL; j++) {
      switch (grille[i][j]) {
      case VIDE:
    printf("_ ");
    break;
      case ROND:
    printf("O ");
    break;
      case CROIX:
    printf("X ");
    break;
      }
    }
    printf("\n"); /* fin de la ligne */
  }
}
 
void metUnPionSurLaGrille() {
  int ligne, col;
  Boolean saisieCorrecte = FALSE;
 
  printf("Numeros de ligne et de colonne: ");
 
  do {
    scanf("%d %d", &ligne, &col);
    printf("\n");
 
    if ((ligne > 0) && (ligne <= NB_LIG) && (col > 0) && (col <= NB_COL)) {
      ligne--; /* enleve 1 pour etre compatible avec le tableau ayant des
          indices de 0 a NB_LIG-1 */
      col--;
      if (grille[ligne][col] != VIDE)
    printf("Cette case a deja ete remplie. Veuillez recommencer: \n");
      else {
    saisieCorrecte = TRUE;
    grille[ligne][col] = (ValeurGrille)prochainJoueur;
    if (prochainJoueur == ROND)
      prochainJoueur = CROIX;
    else
      prochainJoueur = ROND;
      }
    } else
      printf("Indice de ligne ou de colonne incorrect. Veuillez recommencer:\n");
  } while (!saisieCorrecte);
}
 
Boolean testeFinJeu() {
  int i,j;
  int joueurGagnant; /* pour connaitre quel est le gagnant ie soit CROIX soit ROND */
  Boolean estFini = FALSE;
  if (grille[1][1] != VIDE) {
    if (/* colonne 1 */ ((grille[0][1] == grille[1][1]) && (grille[1][1] == grille[2][1])) ||
    /* ligne 1 */ ((grille[1][0] == grille[1][1]) && (grille[1][1] == grille[1][2])) ||
    /* diagonale */ ((grille[0][0] == grille[1][1]) && (grille[1][1] == grille[2][2])) ||
    /* autre diag */ ((grille[0][2] == grille[1][1]) && (grille[1][1] == grille[2][0]))) {
      joueurGagnant = grille[1][1]; /* ie ROND ou CROIX */
      estFini = TRUE;
    }
  }
 
     si la case 0,0 est vide, cela signifie que la ligne 0 et le colonne 0 ne sont pas gagnantes */
  if ((!estFini) && (grille[0][0] != VIDE)) {
    if ( /* ligne 0 */ ((grille[0][0] == grille[0][1]) && (grille[0][1] == grille[0][2])) ||
     /* colonne 0*/ ((grille[0][0] == grille[1][0]) && (grille[1][0] == grille[2][0]))) {
      joueurGagnant = grille[0][0];
      estFini = TRUE;
    }
  }
 
  if ((!estFini) && (grille[2][2] != VIDE)) {
    if ( /* ligne 2 */ ((grille[2][0] == grille[2][1]) && (grille[2][1] == grille[2][2])) ||
     /* colonne 2 */ ((grille[0][2] == grille[1][2]) && (grille[1][2] == grille[2][2]))) {
      joueurGagnant = grille[2][2];
      estFini = TRUE;
    }
  }
 
  if (estFini) {
    printf("Felicitations au joueur ayant les ");
    if (joueurGagnant == ROND)
      printf("ronds ");
    else
      printf("croix ");
    printf("qui a gagne.\n");
    return TRUE;
  }
 
  /* teste si la grille n'est pas pleine */
  for (i=0; i<NB_LIG; i++) {
    for (j=0; j<NB_COL; j++) {
      if (grille[i][j] == VIDE) /* Au moins une case est vide donc le jeu n'est pas fini */
    return FALSE;
    }
  }
  return TRUE;
 
}
 
int main() {
  initialiseGrille();
  do {
    metUnPionSurLaGrille();
    afficheGrille();
  }while(!testeFinJeu());
  return 1;
}