Sciences de l'informatique

Bienvenue dans notre forum de partage et d'échange d'information technique dans le domaine NTIC (Informatique, Programmation, Réseau, Multimédia), ce forum est destinée à tous les élèves Tunisiens
 
AccueilCalendrierFAQMembresGroupesS'enregistrerConnexion
Sujets similaires
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Derniers sujets
Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 6 le Ven 13 Jan - 2:22

Partagez | 
 

 Exercice 2 (Récursivité)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Dhifallah Fethi
Admin
avatar

Messages : 74
Date d'inscription : 02/03/2011

MessageSujet: Exercice 2 (Récursivité)   Ven 18 Mar - 2:09

Exercice 2

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 : N = 10
suite : 0 1 2 3 4 5 6 7 8 9
R : 2
entiers : 7 14
Sortie : 7 9


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 Aller en bas
http://ntic.moontada.net
 
Exercice 2 (Récursivité)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» les exercice de chimie 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Sciences de l'informatique :: 4ème SI :: Programmation :: Exercices & Devoirs-
Sauter vers: