begin process at 2012 05 27 15:40:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > DICHOTOMIE EN RECURSIF

DICHOTOMIE EN RECURSIF


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :28/02/2003 Date de mise à jour :28/02/2003 21:48:25 Vu :7 311

Auteur : Fabi1

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

le titre est plutot explicite!!!

Source

  • #include<iostream.h>
  • int Dicho_Rec(int , int*, int, int);
  • void main()
  • {
  • int nb, ind;
  • int tab[15]={2,9,12,15,20,23,25,65,67,69,72,76,85,89,100};
  • do {
  • cout<<"donner un nombre a chercher:(0 pour arreter)\n";
  • cin >>nb;
  • if (nb != 0)
  • {
  • ind=Dicho_Rec(nb,tab, 0, 15);
  • if (ind == -1)
  • cout<<"ce nombre nest pas dans le tableau!\n";
  • else
  • cout<<"ce nombre est a l'indice"<<ind<<"\n";
  • }
  • } while (nb !=0);
  • }
  • int Dicho_Rec(int nbcher, int *point, int deb, int fin)
  • {
  • int mil = (deb+fin)/2;
  • if(deb > fin)
  • return (-1);
  • if(nbcher == point[mil])
  • return mil;
  • if (nbcher < point[mil])
  • return Dicho_Rec(nbcher, point, deb, mil-1);
  • if(nbcher > point[mil])
  • return Dicho_Rec(nbcher, point, mil+1, fin);
  • }
#include<iostream.h>

int Dicho_Rec(int , int*, int, int);


void main()
{
  int nb, ind;
  int tab[15]={2,9,12,15,20,23,25,65,67,69,72,76,85,89,100};
  do {
    cout<<"donner un nombre a chercher:(0 pour arreter)\n";
    cin >>nb;
    if (nb != 0) 
	{
         
         ind=Dicho_Rec(nb,tab, 0, 15);
         if (ind == -1) 
			 cout<<"ce nombre nest pas dans le tableau!\n";

         else 
			 cout<<"ce nombre est a l'indice"<<ind<<"\n";

    }
  } while (nb !=0);
}


int Dicho_Rec(int nbcher, int *point, int deb, int fin)
{
     int mil = (deb+fin)/2;

     if(deb > fin) 
		 return (-1);

     if(nbcher == point[mil]) 
		 return mil;
     if (nbcher < point[mil])
	return Dicho_Rec(nbcher, point, deb, mil-1);
	if(nbcher > point[mil])
     return Dicho_Rec(nbcher, point, mil+1, fin);
}



 Sources du même auteur

TABLEAU AVEC ALLOCATION DYNAMIQUE
Source avec Zip PUISSANCE 4
CONJUGUER UN VERBE
MASTER MIND SIMPLE A COMPRENDRE
RESOLUTIONSIMPLIFIÉE EQUATION 2ND DEGRÉ

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de kjus le 01/03/2003 11:19:23

Salut,
-void main n'est pas standart, utiliser int main() et return 0; a la place
Sinon c'est pas mal !

Commentaire de NiFF le 01/03/2003 21:04:06

bizarre ta déclaration de Dicho_Rec avec seulement les types, on dirait la déclaration pour une DLL

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales