une petite aide

une petite aide - C - Programmation

Marsh Posté le 22-03-2005 à 21:56:36    

je dois faire pour demain un  petit programme certainement trivial pour vous :on a un tableau de nombres et on souhaite localiser un nombre x dans ce tableau par dichotomie .
Ecrire un programme
aidez moi ,je suis pas tres bon !

Reply

Marsh Posté le 22-03-2005 à 21:56:36   

Reply

Marsh Posté le 22-03-2005 à 22:01:56    

[:itm]


---------------
Membre du Front de Libération de Datoune | Soutenez le FLD | A Tribute To Datoune
Reply

Marsh Posté le 22-03-2005 à 22:22:13    

p'luch a écrit :

je dois faire pour demain un  petit programme certainement trivial pour vous :on a un tableau de nombres et on souhaite localiser un nombre x dans ce tableau par dichotomie .
Ecrire un programme
aidez moi ,je suis pas tres bon !


 
Avant tout pour la dichotomie, il faut que ton tableau soit trie..
c'est un programme du genre pr un tableau de taille MAX
 

Code :
  1. int recherche(int x, int t[]){
  2.   int gauche, droite;
  3.   int milieu;
  4.   gauche = 0;
  5.   droite = MAX - 1 ;
  6.   do{
  7.    if (gauche >= droite)
  8.       return -1; // pas trouve
  9.  
  10.    milieu = (gauche + droite)/2;
  11.   }while(t[milieu] != x)
  12.   return milieu;
  13. }


 
Voilà ça doit ressemble à qq chose comme ça..
bon courage  :bounce:  

Reply

Marsh Posté le 23-03-2005 à 08:15:03    

p'luch a écrit :

je dois faire pour demain un  petit programme certainement trivial pour vous :on a un tableau de nombres et on souhaite localiser un nombre x dans ce tableau par dichotomie .
Ecrire un programme
aidez moi ,je suis pas tres bon !


qsort()
bsearch().
 
Poste ton code.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 23-03-2005 à 08:24:59    

Twinsens a écrit :

Voilà ça doit ressemble à qq chose comme ça..


Marche pas du tout...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 23-03-2005 à 12:52:26    

Emmanuel Delahaye a écrit :

Marche pas du tout...


j'ai pas dis que ça marchais, mais c'est dans cet ordre d'esprie...
Je vais pas te donner un solution toute faite.. Sinon tu n'apprendras rien... :jap:  
 
La dichotomie consiste à diviser ton tableau en 2 a chaque fois pour ta recherche.
Dans ton tableau initial tu compares le milieu à l'element cherche, si il est plus grand, tu refait ta recherche ds le tableau droit, sinon tu refait dans le tableau droit..
A chaque iteration la taille du tableau de recherche est divisée par deux  :bounce:

Reply

Marsh Posté le 23-03-2005 à 13:09:26    

Twinsens a écrit :

Je vais pas te donner un solution toute faite.. Sinon tu n'apprendras rien...


J'ai rien demandé!
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

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