Traduction
cressssss
-
cressssss -
cressssss -
Bonjour,
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:
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:
#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;
}
}
}
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");
}
}
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--;
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;
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;
}
for (i=0; i<NB_LIG; i++) {
for (j=0; j<NB_COL; j++) {
if (grille[i][j] == VIDE)
return FALSE;
}
}
return TRUE;
}
int main() {
initialiseGrille();
do {
metUnPionSurLaGrille();
afficheGrille();
}while(!testeFinJeu());
return 1;
}
A voir également:
- Traduction
- Google traduction photo - Guide
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Display name traduction ✓ - Forum Mail
- Traduction créole martinique français reverso ✓ - Forum Loisirs / Divertissements
- Bible hébreu traduction mot à mot pdf - Télécharger - Vie quotidienne
Je commence par le main() :
int main() {
initialiseGrille(); => appel de la fonction initialiseGrille()
do { => Faire
metUnPionSurLaGrille(); => appel de la fonction metUnPionSurLaGrille()
afficheGrille(); => appel de la fonction afficheGrille()
}while(!testeFinJeu()); => TantQue la fin du jeu n'est pas atteinte
return 1; => Renvoie 1
}
Sincèrement, sur ce code, combien de lignes ne sont pas claires ? C'est du classique par rapport à d'autres langages de programmation.
est-il possible que je puisse avoir votre adresse mail ou bien faites moi un mail à cette adresse: ***@***