hg S’enregistrer Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet

Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum

hg Revision tunisie scolaire Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum révision tunisie , vous devez
 inscrire sur notre forum a partir d'ici
   NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
 
forum d'aide informatique : internet, réseau, programmation informatique ...
Recherche dichotomique
 
 
Poster un nouveau sujet   Répondre au sujet    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum -> Algorithmique & programmation -> Récursivité
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 715
Masculin
Point(s): 5 484
Moyenne de points: 0

Posté le: Ven 19 Fév - 22:13 (2010)    Sujet du message: Recherche dichotomique Répondre en citant

On vous donne une suite d'entiers triée dans l'ordre croissant. Ecrire un programme qui détermine le nombre le plus proche, dans cette suite, de chacune des valeurs d'une deuxième liste. S'il y a plusieurs possibilités, votre programme doit choisir la plus petite valeur.
En entrée vous lisez :
  • Le nombre N d'entiers de la suite.
  • Les entiers de la suite, séparés par des espaces.
  • Le nombre R d'entiers à rechercher.
  • Les entiers à rechercher, séparés par des espaces.

Exemple
  • Entrée :
    Code:

    10
    0 1 2 3 4 5 6 7 8 9
    2
    7 14
  • Code:
    Sortie :
    7 9


Correction :
Par : karimos
En Pascal :
Code:
program ClosestNumber;
var
Suite:array[1..100000] of integer;
Rech:array[1..1000] of integer;
Long_Suite,i:integer;
nbr_rech:integer;

Function DichotomicSearch(element,a,b:integer):integer;
var
mid:integer;
begin
Mid:=(a+b) div 2;
if (element<=Suite[Mid+1]) and (element>=Suite[Mid]) then
begin
   if (Suite[Mid+1]-element)<(element-Suite[Mid])
   then DichotomicSearch:=Suite[Mid+1]
        else DichotomicSearch:=Suite[Mid];
end
else
if (element<Suite[Mid]) then DichotomicSearch:=DichotomicSearch(element,a,Mid)
else DichotomicSearch:=DichotomicSearch(element,Mid+1,b);
end;



begin
readln(long_suite);
For i:=1 to long_Suite-1 do
   read(Suite[i]);
readln(Suite[Long_Suite]);
readln(nbr_rech);
For i:=1 to nbr_rech do
   read(Rech[i]);

For i:=1 to nbr_rech do
begin
        if rech[i]<=Suite[1] then write(Suite[1])
        else if rech[i]>=Suite[Long_Suite] then write(Suite[long_Suite])
        else
   write(DichotomicSearch(rech[i],1,Long_Suite));
        if i<>nbr_rech then write(' ');
end;
writeln;
end.


 
Revenir en haut
Publicité






Posté le: Ven 19 Fév - 22:13 (2010)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
darine


Hors ligne

Inscrit le: 26 Nov 2008
Messages: 15
Féminin
Point(s): 45
Moyenne de points: 0

Posté le: Lun 5 Avr - 19:40 (2010)    Sujet du message: Recherche dichotomique Répondre en citant

MERCI POUR LE PARTAGE Smile)))

 
Revenir en haut
darine


Hors ligne

Inscrit le: 26 Nov 2008
Messages: 15
Féminin
Point(s): 45
Moyenne de points: 0

Posté le: Lun 5 Avr - 19:53 (2010)    Sujet du message: Recherche dichotomique Répondre en citant

Mais le programme n'est pas executable runtime error

 
Revenir en haut
ZeRa


Hors ligne

Inscrit le: 07 Avr 2010
Messages: 8
Point(s): 8
Moyenne de points: 0

Posté le: Mer 14 Avr - 16:50 (2010)    Sujet du message: Recherche dichotomique Répondre en citant

runtime error car la taille du tableau est trop grande , met 100 comme maximum et ça marchera.

 
Revenir en haut
soufien2010


Hors ligne

Inscrit le: 14 Jan 2010
Messages: 5
Point(s): 5
Moyenne de points: 0

Posté le: Lun 8 Nov - 20:00 (2010)    Sujet du message: Recherche dichotomique Répondre en citant

merci  ca marche  Very Happy Okay

 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 08:04 (2017)    Sujet du message: Recherche dichotomique

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Index du Forum -> Algorithmique & programmation -> Récursivité Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation