Algorithme de Fusion

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. 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
    1. 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