Question en Algo pour les balezes, que la Force soit avec vous!!!!!!!!

Question en Algo pour les balezes, que la Force soit avec vous!!!!!!!! - Programmation

Marsh Posté le 21-11-2001 à 19:59:02    

Salut à tous vous balèzes en Algo:
Voilà le moment de montrer votre vrai valeur  ;) :
 
Question :  
le Tri à Bulles de "38522231", j'espère que vous en connaissez le principe parce que moi j'ai pas compris comment faire, j'ai pas encore l'ame d'un Algorithmicien (ca s'écrit comme ca :??: )
 
 
Mais à la fin de cet algo on doit avoir 12223358, alors comment :pt1cable:  ?  :sweat:  
 
Heu bah  :heink: je c aps!  :(  
 
Merci de ton aide Young Skywalker!!!!!!!!  :hello:

Reply

Marsh Posté le 21-11-2001 à 19:59:02   

Reply

Marsh Posté le 21-11-2001 à 20:01:24    

Reply

Marsh Posté le 21-11-2001 à 20:30:19    

aller , je suis gentil en C  
 for(i=0;i<taille-1;i++)
    for(j=i+1;j<n;j++)
       if(tab[i]>tab[j])
       {
           tmp=tab[i];
           tab[i]=tab[j];
           tab[j]=tmp;
       }
 
si c un grd nombre , et pas un tableau tupeux toujours creer le tableau ( pas trop dur ) faire le tri et reconstruire un nombre


---------------

Reply

Marsh Posté le 21-11-2001 à 20:59:01    

ou en algo :
 
tant que i > 1
pour i de 1 à (n-1) faire
    si V(i)>V(i+1) alors permuter (V(i),V(i+1));
    fin si
fin pour;
n := n-1
fin tant que
 
avec V le tableau contenant les nombres et de longueur n
et permuter une procédure du type :
 
t := x1;
x1 := x2;
x2 := t;


---------------
Le tout c'est d'y croire! DaBZHWDT site : www.setibzh.com
Reply

Marsh Posté le 24-11-2001 à 15:30:19    

Merci à tous ceux ki m'ont aider précédemment  :hello:  
 
 
S ke kelkun a d'autres solutions?  :sweat:
 
 :bounce:  
 
Bye  :hello:

Reply

Marsh Posté le 24-11-2001 à 15:52:15    

super_taiwan a écrit a écrit :

Merci à tous ceux ki m'ont aider précédemment  :hello:  
 
 
S ke kelkun a d'autres solutions?  :sweat:
 
 :bounce:  
 
Bye  :hello:  




 
Bleh? T'as toutes les solutions! :)

Reply

Marsh Posté le 24-11-2001 à 16:26:55    

En algo, a version optimisée, pour trier un tableau V[1..n] :
 
 
i,j : entier;
onapermuté : booléen;
 
debalgo
  onapermuté := vrai;
  j := 1;
  i := n-1;
  tantque onapermuté et i>=j faire
    onapermuté := faux;
    pour i:=n-1 bas j faire
      si V[i]<V[i+1] faire permut(V[i],V[i+1]); onapermuté:=vrai;
      finsi;
    finfaire;
    j := j+1;
  finfaire;
 
Et voilà. Enfin, je crois, je suis plus sur de mon i>=j... a tester donc...
mais sinon, ca doit être ca.

Reply

Marsh Posté le 24-11-2001 à 19:01:41    

si je crois tri a bulle c une metaphore sur les bulles du champagne qui remonte a la surface.

Reply

Marsh Posté le 24-11-2001 à 19:19:08    

y'a le tris à plomb aussi, allusion à l'époque des pirates qd tu te prenais des boulets sur la gueule :D
 
non je déconne, mais je crois avoir vu des mecs donné ce nom au tri à bulle inversé (dans l'autre sens kwa).

Reply

Marsh Posté le 24-11-2001 à 20:23:19    

:lol:

Reply

Marsh Posté le 24-11-2001 à 20:23:19   

Reply

Marsh Posté le 24-11-2001 à 20:33:07    

C'est bien tout ça, mais ça vaut pas le bogo tri   :crazy:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-11-2001 à 18:39:39    

:hello:  
en fait il faut comprendre ce qu'il faut faire en principe, apres c  pas trop dur
 
il faut donc faire "remonter" les nbs les plusgrands vers la droite donc parcourir le tableau autant de fois qu'il y a de case et a chaque fois comparer le nb a celui d'apres et eventuellement les inverser .... a dire sans respirer  :pt1cable:  :hap:  
 
et voila !!!  :sol:


---------------
Ca marche pas sauf des fois ........
Reply

Marsh Posté le 25-11-2001 à 18:58:23    

et le tri par insertion, vous  pensez à celui là  :pt1cable:  :pt1cable:

Reply

Marsh Posté le 26-11-2001 à 00:01:44    

void tri_bulle(int tab[], int bi ,int bs)
{
 int  ic = bs-1, idp=ic, temp;
 while (ic>= bi)
  {
   while ((ic<bs) && (tb[ic]>tb[ic+1]))
    {
     temp = tab[ic+1];
     tab[ic+1] = tab[ic];
     tab[ic] = temp;
     ic++;
    }
   idp--;
   ic=idp;
 }
}
 
ou
 
void tri_bulle2(int t[], int bi, int bs)
{
 int ib, ic, idp, x;
 for (ib=bi ; ib<bs; )
  {
   for (ic=bs, idp=bs ; ic>ib ; ic--)
    if (t[ic]<t[ic-1])
      {
       x= t[ic];
       t[ic]= t[ic-1];
       t[ic-1]= x;
       idp= ic;
      }
    ib= idp;
   }
}
 
le plus rapide :
void tri_rapide(int tab[], int bi, int bs)
{
 int x= tab[(bi+bs)/2], sav, g= bi, d= bs;
 do
  {
   while (tab[g]<x) g++;
   while (tab[d]>x) d--;
   if (g<=d) {
     sav = tab[g];
     tab[g]= tab[d];
     tab[d] = sav;
     g++; d--;
    }
  } while (g<=d);
  if (bi<d) tri_rapide(tab,bi,d);
  if (g<bs) tri_rapide(tab,g,bs);
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed