Algorithme de Fusion

does01 Messages postés 128 Statut Membre -  
does01 Messages postés 128 Statut Membre -
Bonjour,
je demande de l'aide d'un exercice j'ai pas pu trouve sa solution

on a deux tableaux qui sont tries on veux les Fusioné dans un 3eme tabeau
merci de m'aide sur ce algorithme
merci d'avance
Configuration: Windows XP
Firefox 2.0.0.13

3 réponses

  1. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Une réflexion sur la fusion de 2 tableaux supposés numériques :

    <code>DEBUT PROGRAMME.

    Traitements initiaux :
    DEFINIR les variables et tableaux
    I, J , K, ...........
    .................
    INITIALISER INDICE I à 0
    INITIALISER INDICE J à 0
    INITIALISER INDICE K à 0
    INITIALISER TAB_C à 0

    CONSIDERER 1er élément TAB_A [I] si NULL ou équivalent (vide) TAB_A [I] = 9999999 (valeur maximale*)
    CONSIDERER 1er élément TAB_B [J] si NULL ou équivalent (vide) TAB_B [J] = 9999999 (valeur maximale*)

    Fusion :
    Le nombre d'éléments de chacun des 2 tableaux est supposé connu ou un indicateur de fin existe
    (valeur particulière prise par le dernier élément).
    J'ai synthétisé les tests par : si fin TAB_x [y] alors TAB_x [y] = 9999999 ............

    FAIRE TANT QUE TAB_A [I] NOT = 99999999 ET TAB_B [J] NOT = 9999999
    SI TAB_A [I] < TAB_B [J] alors inscrire TAB_A [I] dans TAB_C [K]
    Faire progresser (+1) l'INDICE I si fin TAB_A [I] alors TAB
    0
  2. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Il y a eu comme un loupé dans mon précédent envoi ......................

    Une réflexion sur la fusion de 2 tableaux supposés numériques :

    DEBUT PROGRAMME.
    
    Traitements initiaux :
    DEFINIR les variables et tableaux
    I, J , K, ........... 
    .................
    INITIALISER INDICE  I   à  0
    INITIALISER INDICE  J   à  0
    INITIALISER INDICE  K  à  0
    INITIALISER TAB_C  à 0
    Le premier élément de chaque tableau est supposé référencé par la valeur zéro.
    CONSIDERER 1er élément TAB_A [I]  si NULL ou équivalent (vide) TAB_A [I] = 
    9999999 (valeur maximale*) 
    CONSIDERER 1er élément TAB_B [J]  si NULL ou équivalent (vide) TAB_B [J] =
    9999999 (valeur maximale*) 
    
    Fusion :
    
    *Le nombre d'éléments de chacun des 2 tableaux est supposé connu ou bien un
    indicateur de fin existe (valeur particulière prise par le dernier élément). 
    J'ai synthétisé les tests par : si fin TAB_x  [y]  alors TAB_x [y] = 999 .....
     
    FAIRE TANT QUE    TAB_A [I]  NOT  =  999....  ET TAB_B [J]  NOT= 999....  
      SI TAB_A [I]  < TAB_B [J] alors inscrire TAB_A [I] dans TAB_C [K]        
        Faire progresser (+1)  l'INDICE I si finTAB_A [I]  alors TAB_A [I] = 999 ....
      SINON
            SI TAB_A [I]  > TAB_B [J] alors inscrire TAB_B [J] dans TAB_C [K]
              Faire progresser (+1)  l'INDICE J si fin TAB_B [J] alors TAB_B [J]=999 ..
            SINON
               Alors inscrire TAB_A [I] dans TAB_C [K] ( Si les doublons sont admis
               faire progresser  (+1)  l'INDICE K        sinon inscrire TAB_A ou TAB_B
               inscrire TAB_B  [J] dans TAB_C [K]    sans faire progresser l'indice K)
               faire progresser ls INDICES I, J  sii fin TAB_A [I] alors TAB_A [I]
                    et TAB_B  [J] = 999 .....
           FIN SI                   
     FIN SI                   
         Faire progresser l'indice K
    FIN FAIRE TANT QUE
    
    FIN PROGRAMME
    0
  3. does01 Messages postés 128 Statut Membre 12
     
    merci de votre aide
    0