Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
789 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  un petit problème d'algo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un petit problème d'algo

n°871134
madame mim
Posté le 12-10-2004 à 09:44:03  profilanswer
 

:jap:  
bonjour à tous.voilà je m'initie à la programmation et on me demande de réaliser en algo un petit programme mais je tourne en rond, alors si quelqu'un peut m'aider...  
voilà le sujet:  
http://pages.globetrotter.net/ouebdiza/developpez/tableau.gif
il s'agit d'un tableau de 8 lignes par 6 colonnes. on veut que celui ci se remplisse d'une croix dans 1 case sur 2 en partant de la [1,1] jusqu'au bout.  
jusque là pas de problème.  
seulement, on me demande à ce que ce tableau se remplisse en spirale, c'est à dire une croix sur [1,1], [1,3], [1,5], [2,6], [4,6], .... jusque au centre...  
et là, je patauge  :pt1cable:  
alors, s'il vous plaît, aidez moi!!!

mood
Publicité
Posté le 12-10-2004 à 09:44:03  profilanswer
 

n°871142
pains-aux-​raisins
Fatal error
Posté le 12-10-2004 à 10:01:14  profilanswer
 

Teste l'algo suivant rédigé à l'arrache :

Code :
  1. tableau[,] := faux
  2. y_inf := 1
  3. y_sup := 8   -- 8 lignes
  4. x_inf := 1
  5. x_sup := 6   -- 6 colonnes
  6. y := 1       -- en haut
  7. x := 1       -- à gauche
  8. delta_x := 2 -- on se déplace vers la droite
  9. delta_y := 0
  10. tant que (x_inf < x_sup) et (y_inf < y_sup) faire
  11.    tableau[x,y] := vrai
  12.    si x + delta_x > x_sup alors
  13.       delta_x := 0
  14.       delta_y := 2  -- on se déplace vers le bas
  15.       y_inf := y_inf + 1
  16.    fin si
  17.    si x + delta_x < x_inf alors
  18.       delta_x := 0
  19.       delta_y := -2 -- on se déplace vers le haut
  20.       y_sup := y_sup - 1
  21.    fin si
  22.    si y + delta_y > y_sup alors
  23.       delta_x := -2 -- on se déplace vers la gauche
  24.       delta_y := 0
  25.       x_sup := x_sup - 1
  26.    fin si
  27.    si y + delta_y < y_inf alors
  28.       delta_x := 2  -- on se déplace vers la droite
  29.       delta_y := 0
  30.       x_inf := x_inf + 1
  31.    fin si
  32.    x := x + delta_x
  33.    y := y + delta_y
  34. fin tant que


Message édité par pains-aux-raisins le 12-10-2004 à 10:19:13
n°871147
madame mim
Posté le 12-10-2004 à 10:08:56  profilanswer
 

bravo pains au raisin je crois que c'est ça je l'ai déroulé à la main ça a l'air de marcher...
merci mec

n°871149
pains-aux-​raisins
Fatal error
Posté le 12-10-2004 à 10:11:50  profilanswer
 

de rien ;)
 
ps : il manque l'initialisation du delta_x et du delta_y que tu as déjà corrigé j'imagine.

n°871153
sircam
I Like Trains
Posté le 12-10-2004 à 10:22:25  profilanswer
 

Pains-aux-raisins, donner la solution toute faite ne fait pas partie des usages de ce forum.
 
C'est tout à ton honneur de l'aider de la sorte, mais je ne pense pas que ce soit la bonne chose à faire.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871165
pains-aux-​raisins
Fatal error
Posté le 12-10-2004 à 10:40:06  profilanswer
 

c'est vrai :jap:
j'ai été pris dans un moment de précipitation.

n°871169
sircam
I Like Trains
Posté le 12-10-2004 à 10:42:22  profilanswer
 

Pas grave. De toute façon, le gars n'a RIEN gagné ni appris, à part une satisfaction temporaire de l'exo résolu.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871170
WhatDe
Posté le 12-10-2004 à 10:42:55  profilanswer
 

Ouais  [:airforceone]

n°871223
madame mim
Posté le 12-10-2004 à 11:27:12  profilanswer
 

c'est exactement ce que je voulais, une satisfaction rapide et sûre.
huuuuuuuum

n°871580
sircam
I Like Trains
Posté le 12-10-2004 à 15:45:55  profilanswer
 

Ne compte pas trop trouver ce genre de soluce toute faite la prochaine fois. Tu seras malvenu avec cette attitude. T'as eu du "bol". Enfin, je sais bien que non mais ce qui compte, c'est l'illusion que tu t'en fais.
 


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le 12-10-2004 à 15:45:55  profilanswer
 

n°871597
madame mim
Posté le 12-10-2004 à 15:55:06  profilanswer
 

non t'inquiètes pas sircam je plaisantais juste.
il est vrai que pains aux raisins m'avait bien aiguillé mais, ça va, j'avais bien avancé tout seul, j'avais réglé la moitié du problème, et il me manquait un élément fondamental qui me génait, qu'on m'a servi, c'est vrai, sur un plateau mais qui m'a permis de comprendre et de mener à bout ma réfléxion.
merci de t'inquiéter!
bonne journée
ceci dit je comprends tout à fais ton point de vue

n°871636
sircam
I Like Trains
Posté le 12-10-2004 à 16:13:20  profilanswer
 

madame mim a écrit :

qu'on m'a servi, c'est vrai, sur un plateau mais qui m'a permis de comprendre et de mener à bout ma réfléxion.
(...)
ceci dit je comprends tout à fais ton point de vue


1°- Justement... C'est toujours facile de comprendre l'algo quand on l'a sous les yeux.
2°- Pour la résolution d'exo, ce n'est pas un point de vue, c'est une règle de ce forum.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871657
madame mim
Posté le 12-10-2004 à 16:28:36  profilanswer
 

OUI CHEF

n°871663
madame mim
Posté le 12-10-2004 à 16:33:16  profilanswer
 


 
en tout cas toi tu m'as beaucoup aidé tu as changé monn point de vue sur la vie et l'algo.  
merci de tout coeur :sleep:

n°871709
sircam
I Like Trains
Posté le 12-10-2004 à 17:32:06  profilanswer
 

Tes commentaires ironiques, tu te les gardes, merci.
 
T'as pompé ton exo, tu t'es sans doute inscrit il y a qq jour dans ce but parce les cours commencent, maintenant tu peux dégager.
 
De toute façon, le pseudo-code n'est pas correct, alors, tes bobards comme quoi ça t'a "permis de comprendre et de mener à bout ta réfléxion", tu peux te les garder aussi.
 
[:aline2003]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871718
drasche
Posté le 12-10-2004 à 17:44:57  profilanswer
 

pains-aux-raisins a écrit :

de rien ;)
 
ps : il manque l'initialisation du delta_x et du delta_y que tu as déjà corrigé j'imagine.


hum, les gens qui filent des soluces toutes faites sont passibles de sanctions aussi, non? :gratgrat:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°871721
Lam's
Profil: bas.
Posté le 12-10-2004 à 17:46:13  profilanswer
 

Citation :

hum, les gens qui filent des soluces toutes faites sont passibles de sanctions aussi, non?

Surtout quand la soluce est fausse comme ça :D

n°871723
sircam
I Like Trains
Posté le 12-10-2004 à 17:48:06  profilanswer
 

Ouais bon, on va jeter la pierre à pain-aux-raisins. Il pensait bien faire et a été distrait et s'en est rendu compte.
 
Par contre, les parasites, faut leur foutre un coup de pied au derrière.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871724
madame mim
Posté le 12-10-2004 à 17:48:56  profilanswer
 

c'est quasiment juste. je trouvais juste que ma solution était un peu longue.
pour toi, sircam le moraliste:
description grille  
   maxligne  
   maxcol  
 
description d'une case  
   numligne,  
   numcol  
   visitee  
   marquee  
 
variables globales utilisées  
direction  (4 valeurs droite, gauche, haut bas)  
numligne  (varie entre 1 et maxligne)  
numcol    (varie entre 1 et maxcol)  
 
 
variables locales à la procédure principale  
flagecrire : booléen, vrai on maruqe faux on ne marque pas, change à chaque étape  
 
debut  
  flagecrire <- vrai  
  numligne <- 1  
  numcol <- 1  
  direction <- droite  
  faire  
    si flagecrire alors  
    debut  
      marquer la case  
    fin  
    flagecrire <- non gflagecrire  
  tant que avancerdunecase est vrai  
fin  
 
// c'est la fonction avancer d'une case qui fait tout  
// elle regarde suivant la direction si on peut avancer  
// et si on ne peut pas, elle change la direction  
// au bout de 4 essai, on revient au point de départ, donc si on y arrive c'est qu'on ne peut plus bouger, le parcours est termine  
 
fonction avancerdunecase  
retourn vrai/faux  
debut  
  // on effectue au maximum 4 tests puisqu'il y a 4 directions  
  si testecaselibre(numligne, numcol, direction) = faux alors  
  debut  
     direction <- directionsuivante(direction)  
     si testecaselibre(numligne, numcol, direction) = faux alors  
     debut  
        direction <- directionsuivante(direction)  
        si testecaselibre(numligne, numcol, direction) = faux alors  
        debut  
          direction <- directionsuivante(direction)  
          si testecaselibre(numligne, numcol, direction) = faux alors  
            retourner faux  
        fin  
     fin  
   fin  
   marquerla case numligne, numcol comme visitee  
   retourner vrai  
fin  
     
fonction directionsuivante  
argument dir direction  
retour direction  
debut  
   si direction = droite alors  
      retourner bas  
   si direction = bas alors  
      retourner gauche  
   si direction = gauche alors  
      retourner haut  
   si direction = haut alors  
      retourner droite  
fin  
 
 
// test si la case proche suivant la direction indiquée est visitable  
// (dans la grille et non visitée)  
// Si elle l'est les coordonnées de la case sont modifiées (influence du C)  
 
fonction testecaselibre  
arguments modifiés numeroligne, numerocolonne,  
argument non modifie direction  
retourne vrai/faux  
debut        
  si direction = droite alors  
    si numerocolonne < maxcol et si la case située en numeroligne, numerocolonne+1 n'a pas été visitée  
      debut  
        numerocolonne <- numerocolonne + 1  
        retourner vrai  
      fin  
    sinon  
      retourner faux  
 
  si direction = bas alors  
    si numeroligne < maxlig - 1 et si la cas située en en numeroligne + 1, numerocolonne n'a pas été visitée  
      debut  
         numeroligne <- numeroligne + 1  
        retourner vrai  
      fin  
    sinon  
      retourner faux  
 
   si direction = gauche alors  
    si maxcol > 1 et si la cas située en en numeroligne, numerocolonne -1 n'a pas été visitée  
      debut  
        numerocolonne <- numerocolonne - 1  
        retourner vrai  
      fin  
    sinon  
      retourner faux  
 
   si direction = hautalors  
    si maxlig > 1 et si la cas située en en numeroligne-1, numerocolonne n'a pas été visitée  
      debut  
        numeroligne <- numeroligne - 1  
        retourner vrai  
      fin  
 
    sinon  
      retourner faux  
fin  
il marche.

n°871729
madame mim
Posté le 12-10-2004 à 17:51:58  profilanswer
 

t'as raison mec un coup de pied aux fesses des parasites, je suis bien d'accord.
au fait, l'algo toi t'en es capable??
Comme tu l'as dit, on comprend toujours mieux en lisant.
c'est beaucoup plus facile de voir que c'est faux et de dénigrer le travail des autres.
bouffon

n°871732
drasche
Posté le 12-10-2004 à 17:55:01  profilanswer
 

madame mim a écrit :

t'as raison mec un coup de pied aux fesses des parasites, je suis bien d'accord.
au fait, l'algo toi t'en es capable??
Comme tu l'as dit, on comprend toujours mieux en lisant.
c'est beaucoup plus facile de voir que c'est faux et de dénigrer le travail des autres.
bouffon


chépas si t'as remarqué que le parasite dans l'affaire, c'est toi :o
j'oserais pas revenir demander une deuxième fois la même chose ici si j'étais toi, car tu pourrais bien recevoir des cailloux :o (si ce n'est déjà cette fois ci).  Bref, lis la charte, ça t'éviterait des désagréments.  Je ne commenterai même pas ton pseudo racoleur [:nul]


Message édité par drasche le 12-10-2004 à 17:55:23

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°871733
Lam's
Profil: bas.
Posté le 12-10-2004 à 17:55:39  profilanswer
 

En attendant, il y a une façon plus efficace de savoir si la case doit être marquée ou pas. Et ça te sera nécessaire si tu souhaites adapter l'algo de pains aux raisins pour qu'il fonctionne.
 
Maintenant, la prochaine fois, essaye de présenter ton travail à l'avance, afin de ne pas te donner "un mauvais genre".

n°871738
madame mim
Posté le 12-10-2004 à 18:03:24  profilanswer
 

drasche a écrit :

chépas si t'as remarqué que le parasite dans l'affaire, c'est toi :o
j'oserais pas revenir demander une deuxième fois la même chose ici si j'étais toi, car tu pourrais bien recevoir des cailloux :o (si ce n'est déjà cette fois ci).  Bref, lis la charte, ça t'éviterait des désagréments.  Je ne commenterai même pas ton pseudo racoleur [:nul]


 
tu ne trouves plus sur quoi m'attaquer, mais tu suis quand même ton copain pour faire comme lui?!?
C'est gentil. :sweat:  
 
merci lam's je viens de m'en rendre compte...

n°871747
sircam
I Like Trains
Posté le 12-10-2004 à 18:31:15  profilanswer
 

Bon, mim, la plaisanterie a assez duré.
 
Quand on vient juste de s'inscrire pour pomper et qu'on ne connait pas le habitués du forum, on s'abstient de commentaires déplacés sur leur compte.
 
Tu n'as vraiment rien compris.
 
En temps normal, c-à-d hors parasitage de ta part, j'aurais exposé l'erreur à pain-aux-raisins, tout comme il l'aurait fait si j'avais proposé un algo erroné. On en aurait discuté avec plaisir car c'est qqn de bien.
 
Ta suffisance ("oui chef" suivit de "tu as changé monn point de vue sur la vie et l'algo" ) avant de me taxer de moralisateur parce que je rappelle une règle de cette section est totalement déplacée.
 
Tu crois que je vais seulement lire le torchon sous "pour toi sircam le moraliste" que tu proposes alors que la solution de p-a-raisins est quasi-bonne et bien plus élégante ? Pour qui te prends-tu ?
 
"l'algo toi t'en es capable??" -> Certainement mieux que toi; j'ai terminé mes études et je les ai faites sans pomper et avec plus d'humilité que toi.
 
Alors se faire traiter de bouffon par un jeune blanc bec prétentieux, c'est franchement à côté de la plaque.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°871753
drasche
Posté le 12-10-2004 à 18:48:15  profilanswer
 

madame mim a écrit :

tu ne trouves plus sur quoi m'attaquer, mais tu suis quand même ton copain pour faire comme lui?!?
C'est gentil. :sweat:  
 
merci lam's je viens de m'en rendre compte...


Si tu n'insultais pas les gens, j'aurais eu des propos plus retenus. Et je ne "suis" personne, je suis moi et c'est déjà pas mal.

n°871754
seabee
Posté le 12-10-2004 à 18:48:39  profilanswer
 

Putain c'est dingue la horde de vieux bouffons qui pollue ce forum. :sleep:
Il demande de l'aide pour son exo d'algo; manque de chance qqun lui donne la solution. [:spasafote]
 
Après il a le malheur de ne pas encore maîtriser à la perfection votre second degré forumesque à dix francs et vous lui taillez un short même Chantal13 elle le trouverai trop court :/
 
A mort les pètes-couilles moralisateurs [:youpi]
La pusso-force dans le slip, le Gsnalf-newbie crew en avant! :o

n°871759
drasche
Posté le 12-10-2004 à 18:50:31  profilanswer
 

ta gueule toi :o
et je faisais pas de second degré :o


Message édité par drasche le 12-10-2004 à 18:50:48
mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Programmation
  Algo

  un petit problème d'algo

 

Sujets relatifs
[css] Petit problème de taille d'un divprobleme de classe
[ORACLE 9.2] Problème dans le Manager des tâches Win[Java] Problème de conception d'une classe GraphMap
Problème avec la classe vectorprobleme d'un débutant avec la focntion mail()
[MYSQL]probleme requete imbriquéeprobleme avec un if[RESOLU]
quel est l'équivalent en c++ de "selon" en algo?? 
Plus de sujets relatifs à : un petit problème d'algo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR