PortailAccueilFAQRechercherCalendrierS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Fusionner le contenu de deux tableaux

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

Masculin
Nombre de messages : 138
Age : 31
Date d'inscription : 02/09/2006

MessageSujet: Fusionner le contenu de deux tableaux   Jeu 5 Oct - 14:32

Code:
#include<stdio.h>

#define N(a) (sizeof (a)/sizeof *(a))

static void print (char const *s, int const a[], size_t n)
{
  size_t i;

  printf ("%s: ", s);
  for (i = 0; i < n; i++)
  {
    printf ("%d ", a[i]);
  }
  printf ("\n");
}

int main(void)
{
  int a[] =
    {
      2, 5, 6, 8, 9, 11
    };
  int b[] =
    {
      3, 6, 7, 9, 12
    };
  int c[N(a) + N(b)];
  size_t ic = 0;
  {
    size_t ia = 0;
    size_t ib = 0;

    print ("a", a + ia, N(a) - ia);
    print ("b", b + ib, N(b) - ib);
    print ("c", c, ic);
    printf ("\n");

    while (ia != N(a) || ib != N(b))
    {
#if 1
      /* Elimination des doublons */
      if (a[ia] == b[ib])
      {
        if (ia < N(a))
        {
          c[ic] = a[ia];
          ia++;
        }
        if (ib < N(b))
        {
          ib++;
        }
      }
      else
#endif
      if (a[ia] < b[ib])
      {
        if (ia < N(a))
        {
          c[ic] = a[ia];
          ia++;
        }
      }
      else
      {
        if (ib < N(b))
        {
          c[ic] = b[ib];
          ib++;
        }
      }
      ic++;
      print ("a", a + ia, N(a) - ia);
      print ("b", b + ib, N(b) - ib);
      print ("c", c, ic);
      printf ("\n");
    }
  }

  print ("c", c, ic);
  return 0;
}

si
Code:
#if 1

est remplacé par

Code:
#if 0

Les doublons présents seront supprimés.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://design.jeun.fr
 
Fusionner le contenu de deux tableaux
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème entre deux tableaux à onglets.
» Insérer deux tableaux côte à côte.
» Espaces entre deux tableaux alignés verticalement.
» comment fusionner le compte de deux membres (non résolu)
» QEEL en deux tableaux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
DESIGN STUDIO FORUM :: programmation :: C,C++-
Sauter vers: