Bonjour,
est-ce que quelqu'un pourrait m'aider pour cet exercice s'il vous plait, ça serait super sympa, merci.
Enoncé:
un tableau grille à 10 lignes et 10 colonnes contient les données relatives
à un jeu de mots croisés simulés sur ordinateur.Chaque élément de ce
tableau est une structure de type Case, contenant les deux champs :
noir: valeur booléenne affecté à vrai si la case correspondante de la grille est une case
noir, représenté dans le tableau par (=).(qui ne peut donc contenir une lettre)
lettre: contient soit le caractères inscrit par le joueur dans la case, soit le caractère
étoile(*) si la case est vide(est donc on peut placer une lettre)
la question est de donner le nombre de mots complétés par le joueur.
par exemple dans le tableau ci dessous: le nombre de mots et de 4.
* * A * * * = * * *
* * L * = * * * * *
L O G I Q U E = * *
* * O = * * * = * *
= * R * = * = * * *
* * I = O * * * = *
* = T A B L E A U =
* * H = J * * * * *
* * M * E * = * * *
* * E * T * * * * *
mon raisonnement et là où je bloque: donc je parcoure d'abord le tableau colonne par colonne(ensuite ligne par ligne) si
la première case est vide ou contient une case noir(=) je passe à la case suivante si celle-ci contient une
lettre, je dois lire toutes les lettres qui la suivent jusqu'à je tombe sur la case noir(=) ou fin de colonne. et là incrémenté nbMots et passer à la colonne suivant ou la case approprié
ps: je peux utiliser le module estLettre(car) : qui retourne vrai si car est une lettre.
une fois qu'une case contient une lettre je n'arrive pas à lire à toutes les lettres qui la suivent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Module motsCroisé(tab[1 à 10, 1 à 10]de caractère) => Entier nbMots: entier pour i de 1 à 10 faire pour j de 1 10 faire si (estLettre(tab[i][j].lettre )) alors // si je rentre là c'est que la case est une lettre et c'est également là où je bloque je n'arrive pas à lire jusqu'à la case noir ou fin de colonne(puis incrémenté nbMots)
Partager