Procedure tri et fusion !!!

etudiantinfo Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
SVP c'est urgent !
j'ai besoin d'aide!!
voici ces 2 procedures
1-
Type Tab = Tableau[1..N] de entier ;
Procédure Fusion(var T : Tab ; Debut,Fin : entier);
var T1,T2 : Tab ;
i,j,k,milieu, : entier ;
Début
milieu=(debut + fin) div 2;
Pour i de debut à milieu faire
    T1[ i - Debut +1] = T[i] ;  // pourquoi  'i-Debut+1' et non pas seulement 'i' ?
Fin Pour;
Pour j de milieu+1 à fin  faire
    T2[j - milieu]= T[j] ;
Fin Pour;
i =1 ; j =1 ;
Pour k de Debut à Fin faire
     Si (i>milieu-debut+1) Alors // pourquoi 'milieu-debut+1' et non pas seulement 'milieu'' ?
          T[k]= T2[j] ;
           j =j+1 ;
    Sinon
           Si (j>fin-milieu) Alors // pourquoi 'fin-milieu' et non pas seulement 'milieu'' ?
              T[k] =T1[i] ;
               i= i+1 ;
           Sinon
                 Si (T1[i]<T2[j]) Alors
                     T[k]= T1[i] ;
                      i= i + 1;
                 Sinon
                       T[k] =T2[j] ;
                         j=j+1 ;
                  Fin Si;
           Fin Si;
   Fin Si;
Fin Pour;
Fin;


2-
Procédure Tri(var T : Tab ; Debut, Fin : entier);
var Milieu : entier ;
Début
Si (Debut<Fin) Alors
   Milieu (Debut + Fin) div 2; // pourquoi '(debut+fin)div2 ' et non pas ' fin div 2 ' ?
   Tri(T, Debut, Milieu) ;
   Tri(T, Milieu + 1, Fin) ;
    Fusion(T, Debut, Fin)
Fin Si;
Fin;


la deuxième procédure fait appel a la première
mes question sont à côté des instructions
merci d'avance.
A voir également:

2 réponses

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bonjour,

Tu dois le rendre quand ?
0
etudiantinfo Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
demain ou le lendemain
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Alors...

La règle du jeu, ici, interdit de résoudre les exercices. On peut apporter un aide à celui qui montre le travail déjà fait.
0
etudiantinfo Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai deja donné la solution :/ le problème est déja résolu je veux juste comprendre la solution .. j'ai essayé mais j'ai pas compris pourquoi on a mis '(debut+fin) div2 ' et non pas ' fin div 2 ' ?
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Tu as donné la solution ? Alors, il n'y a pas de problème !

On ne te demande pas de donner un algo, un début de programme ou autre que tes profs t'ont donné pour analyse. Si c'était ton taf, tu saurais forcément pourquoi tu aurais écrit "(debut+fin) div " et non pas '"fin div 2".

On te demande de montrer que tu as réfléchi.
0
etudiantinfo Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Cette SOLUTION n'est pas la mienne ! le prof nous l'a donné sans exliquer et nous a demandé d'essayer de résoudre le meme problème en utilisant une autre méthode. ..il va l'expliquer la prochaine séance mais ,il faut que je comprenne cette solution pour que je puisse faire l'autre méthode
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
quelle est la différence entre (debut+fin)div2 ' et fin div 2?
pourquoi penses-tu que fin div 2 est mieux?
0