Besoin d'aide pour mon tp en programmation c
Fermé
raoufartikodin
Messages postés
3
Date d'inscription
dimanche 16 avril 2017
Statut
Membre
Dernière intervention
29 avril 2017
-
29 avril 2017 à 23:59
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 4 mai 2017 à 15:36
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 4 mai 2017 à 15:36
A voir également:
- Besoin d'aide pour mon tp en programmation c
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmation télécommande porte de garage brico depot - Forum Matériel & Système
2 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié le 4 mai 2017 à 15:23
Modifié le 4 mai 2017 à 15:23
Salut raoufartikodin,
Tu n'écris pas ton programme dans l'ordre dans lequel l'algorithme t'est donné, donc il n'est pas une implémentation de cet algorithme.
Dès lors, par exemple, lorsque tu fais
Dans ta boucle while, au lieu de faire
- mettre un appel à une fonction next_upright_coord(), qui renvoie les prochaines coordonnées valides selon ce qui est écrit en 2-
- faire le test écrit en 3-
- si le test révèle que la position est occupée, mettre un appel à une fonction next_upleft_coord(), qui renvoie les prochaines coordonnées valides selon ce qui est écrit en 3-
- ne mettre la prochaine valeur comme indiqué en 4- qu'après avoir effectué ces tests
Tu peux aussi le faire sans créer de fonctions. Cela sera moins lisible, mais cela fonctionnera aussi pourvu que tu fasses les choses dans l'ordre.
Dal
Tu n'écris pas ton programme dans l'ordre dans lequel l'algorithme t'est donné, donc il n'est pas une implémentation de cet algorithme.
Dès lors, par exemple, lorsque tu fais
if (t[x][y]==0) {dans ta boucle while, tu n'as pas vérifié si tes x et y ne débordent pas la capacité du tableau, et tu te retrouves à écrire "4" dans [0,5] alors que ton tableau est de 5x5.
Dans ta boucle while, au lieu de faire
x--; y++;tout de suite sans savoir où tu es, tu pourrais :
- mettre un appel à une fonction next_upright_coord(), qui renvoie les prochaines coordonnées valides selon ce qui est écrit en 2-
- faire le test écrit en 3-
- si le test révèle que la position est occupée, mettre un appel à une fonction next_upleft_coord(), qui renvoie les prochaines coordonnées valides selon ce qui est écrit en 3-
- ne mettre la prochaine valeur comme indiqué en 4- qu'après avoir effectué ces tests
Tu peux aussi le faire sans créer de fonctions. Cela sera moins lisible, mais cela fonctionnera aussi pourvu que tu fasses les choses dans l'ordre.
Dal
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
4 mai 2017 à 15:36
4 mai 2017 à 15:36
pour poster du code sur le forum, en préservant l'indentation et avec coloration syntaxique, poste le entre balises de "code c", comme celà :
<code c>
ton code ici
</code>
<code c>
ton code ici
</code>