Procedure tri et fusion !!!

Fermé
Signaler
Messages postés
8
Date d'inscription
samedi 29 septembre 2018
Statut
Membre
Dernière intervention
14 novembre 2018
-
Messages postés
17700
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 novembre 2021
-
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.

2 réponses

Messages postés
50796
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
7 520
Bonjour,

Tu dois le rendre quand ?
Messages postés
8
Date d'inscription
samedi 29 septembre 2018
Statut
Membre
Dernière intervention
14 novembre 2018

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 ' ?
Messages postés
50796
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
7 520
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.
Messages postés
8
Date d'inscription
samedi 29 septembre 2018
Statut
Membre
Dernière intervention
14 novembre 2018

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
Messages postés
8
Date d'inscription
samedi 29 septembre 2018
Statut
Membre
Dernière intervention
14 novembre 2018

je m'excuse pour mon mauvais français
Messages postés
50796
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
7 520
Ton français n'est pas mauvais, rassure-toi, on en voit des bien pires.

C'est le fond du problème qui t'échappe : il faut que tu montres un raisonnement au moins partiel pour espérer être assisté.
Messages postés
17700
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 novembre 2021
947
bonjour,
quelle est la différence entre (debut+fin)div2 ' et fin div 2?
pourquoi penses-tu que fin div 2 est mieux?