Fusionner deux tableaux en un seul?

Fusionner deux tableaux en un seul? - C - Programmation

Marsh Posté le 18-04-2006 à 15:20:01    

Bonjour à tous,
 
Voilà mon problème :  
 
J'ai deux tableaux qui ressemblent à ça :  
 
Tableau 1
 
A     1
B     2
 
 
Tableau 2
 
C    3
D    4
 
 
Je recherche la commande C qui va me permettre d'obtenir ce tableau :  
 
A   1
B   2
C   3
D   4
 
Vous l'aurez compris, je n'y connais pas grand chose...
 
Merci de votre aide!
 
Edit : il s'agit de la fusion de deux tableau en un seul, pas de la concatenation ;)


Message édité par lool38 le 18-04-2006 à 15:30:15
Reply

Marsh Posté le 18-04-2006 à 15:20:01   

Reply

Marsh Posté le 18-04-2006 à 15:32:47    

Comment sont déclarer les tableaux ?
 
Voici une solution simple qu'il faut peut-être adapter :

struct {
 char s[50];
 int num;
} tb_toto[10];
 
struct {
 char s[50];
 int num;
} tb_titi[10];
 
struct {
 char s[50];
 int num;
} tb_tutu[10];
 
int i;
 
/* recopie les tables toto et titi dans tutu */
for (i = 0; i < 10; i++) {
   strcpy(tb_tutu[i].s, tb_toto[i].s);
   tb_tutu[i].num = tb_toto[i].num;
}
for (i = 0; i < 10; i++) {
   strcpy(tb_tutu[i + 10].s, tb_titi[i].s);
   tb_tutu[i + 10].num = tb_titi[i].num;
}


Message édité par olivthill le 18-04-2006 à 15:35:09
Reply

Marsh Posté le 18-04-2006 à 15:33:00    

ah bon, c'est quoi la différence avec la concaténation ?
 
Sinon y'a pas mal de manière d'y arriver... comme de créer un tableau de la bonne taille, et parcourir des deux tableau et d'y mettre les bonnes valeurs... ou en gérant finement les pointeurs.

Reply

Marsh Posté le 18-04-2006 à 15:34:43    

olivthill > ta technique, c'est seulement en cas de manipulation de chaines de caractères, donc terminées par 0x00 (strcpy).


Message édité par _darkalt3_ le 18-04-2006 à 15:35:03
Reply

Marsh Posté le 18-04-2006 à 15:36:39    

Oui, darkalt3, j'ai supposé que A, B, désignaient des chaines plutôt que des caractères, mais j'ai peut-être eu tort.

Reply

Marsh Posté le 18-04-2006 à 15:38:34    

Déjà, dans son exemple, ce sont des entiers ;)
 
De toutes façon, si un code a ses limites, autant le préciser.


Message édité par _darkalt3_ le 18-04-2006 à 15:38:57
Reply

Marsh Posté le 18-04-2006 à 15:47:21    

Merci pour vos réponses.
 
J'utilise un outil qui génère du code seul aussi les tableaux ne sont pas explicitement déclarés...
 
Dans les tableaux que je manipule, il n'y a que du vide ou du numérique. Ca va ressembler à :
 
 
9782203001015   2
9782203001008   4
9782203001190   17
 
et avec des lignes vides.
 
 
 
 

Reply

Marsh Posté le 18-04-2006 à 15:47:40    

Ahhhh, tu crois que le champ A contient 1, le champ B contient 2 ? Ca change tout.
 
J'avais compris que le tableau avait deux colonnes,
la première ligne contenant un champ qui contient A et un champ qui contient 1,
la deuxième ligne contenant un champ qui contient B et un champ qui contient 2,
etc.
 
Bon, on va dire que c'est de la faute de la question qui n'est pas claire.
 
Edit : je lis le complément d'information et peut-être qu'on a faux tous les deux.
Il faudrait absolument avoir la déclaration du tableau pour y voir plus clair.


Message édité par olivthill le 18-04-2006 à 15:50:21
Reply

Marsh Posté le 18-04-2006 à 15:52:01    

Non non, tu avais bien compris :)
 
Les tableaux ont bien 2 colonnes :  
 
Tableau 1
 
Colonne 1           Colonne 2
9782203001015        2  
<Vide>                <Vide>
 
Tableau 2
 
Colonne 1           Colonne 2
<Vide>                <Vide>
9782203001008       4  
9782203001190       17  
 
Et je souhaite obtenir le Tableau 3 :  
 
Colonne 1           Colonne 2
9782203001015        2  
<Vide>                <Vide>
<Vide>                <Vide>
9782203001008       4  
9782203001190       17  
 
 


Message édité par lool38 le 18-04-2006 à 15:52:31
Reply

Marsh Posté le 18-04-2006 à 15:54:47    

Oui, excusez-moi d'insister M. lool38, mais si je pouvais voir la déclaration en C, alors je pourrais répondre à la question.

Reply

Marsh Posté le 18-04-2006 à 15:54:47   

Reply

Marsh Posté le 16-07-2011 à 19:17:43    

et moi j'ai un problème !! j'arrive pas à réaliser un programme en c avec "DEV-C++" qui fusionne du tableau trié!!!
si quelqu'un trouve la réponse je lui serai reconnaissante!!!
merci d'avance!!!

Reply

Marsh Posté le 19-07-2011 à 06:56:03    

youmi70 a écrit :

et moi j'ai un problème !! j'arrive pas à réaliser un programme en c avec "DEV-C++" qui fusionne du tableau trié!!!
si quelqu'un trouve la réponse je lui serai reconnaissante!!!
merci d'avance!!!


 
Et de quelle manière ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed