Recherche du plus grand carre... [C] - C - Programmation
Marsh Posté le 02-12-2004 à 04:25:30
Je me lance en proposant un algo trivial et pas optimisé : tu prends chaque point les un après les autres, en commençant en haut à gauche, et en te déplaçant de gauche à droite puis de ligne en ligne. Tu considères ce point (qu'on va appeler point générateur) comme le sommet superieur gauche d'un carré potentiel que tu va agrandir progressivement vers la droite et vers le bas, jusqu'a ce qu'il intercepte un rond (carré de 2 sur 2, puis 3 sur 3...). Et c'est tout. Au cours de tes itérations tu mémorise le point générateur qui a engendré le plus grand carré.
C'est très bête comme algo et il doit y avoir beaucoup mieux, mais tu peux deja faire quelques optimisations simples. Genre si tu a déja rencontré un point générateur qui engendre un carré de coté N, tu sais que ce n'est pas la peine de tester les point qui sont à moins de N points du bord droit ou de la dernière ligne.
Sinon ca devrait être dans la catégorie Algo, pas C.
Marsh Posté le 03-12-2004 à 07:29:05
c'est pas tres interessant de payer la peau du cul pour une ecole si c'est pour aller chercher les algos sur des forums...
Marsh Posté le 03-12-2004 à 07:36:52
Je dirai simplement "C'est pas tres intérressant de payer la peau du cul pour une école"
Marsh Posté le 03-12-2004 à 13:34:09
DeirElBahri a écrit : c'est pas tres interessant de payer la peau du cul pour une ecole si c'est pour aller chercher les algos sur des forums... |
Ouais, et tu voudrais quoi? Que les profs donnent les solutions en meme temps que les exercices?
Marsh Posté le 03-12-2004 à 13:51:58
(vous êtes pas un peu HS là les gars? )
Marsh Posté le 04-12-2004 à 11:33:45
Ace17 a écrit : Ouais, et tu voudrais quoi? Que les profs donnent les solutions en meme temps que les exercices? |
Pourquoi pas
Marsh Posté le 04-12-2004 à 12:35:47
Parce qu'il faut chercher pour apprendre. Pas necessairement trouver, mais si le prof te balance la solution et que t'as pas cherche avant, le gain est tres limite.
Marsh Posté le 05-12-2004 à 23:51:37
c'est un projet proposé en premiere année dans mon ecole..le but est de faire acqérir une certaine logique de recherche d'algorithmes.. si l'etudiant le trouve pas la solution sans aide exterieur, le projet est inutile..
Marsh Posté le 06-12-2004 à 00:01:16
Encore plus bete tu considere tous les rectangles possibles en les triant par ordre decroissant (la fonction de mesure sera l'air du rectangle) et tu prend le premier.
C'est tres con (expo) mais c'est une solution.
Marsh Posté le 01-12-2004 à 17:09:36
J'ai besoin d'aide sur un petit programme.
En fait il s'agit de lui passer en parametre un fichier de ce type :
$ > cat fichier_test
9
...........................
....o......................
............o..............
...........................
....o......................
...............o...........
...........................
......o..............o.....
..o.......o................
$ >
Et en fait il faut reussir a trouver le plus grand carre possible forme par des '.' et le remplacer par des 'x' ... Bon... comme ca c'est pas tres explicite.
Dans notre exemple ca donnerai :
$ > ./search_square fichier_test
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxxo..............
.....xxxxxxx...............
....oxxxxxxx...............
.....xxxxxxx...o...........
.....xxxxxxx...............
......o..............o.....
..o.......o................
$ >
Okay vous voyez le truc ? Je vois pas trop comment je pourrai faire pour lui faire trouver le carre le plus grand en fait
PS : le nombre dans le fichier test est juste le nombre de ligne. Toutes les lignes sont egales.
J'attends vos idees