Comment faire une fusion de plusieurs tableau de donné? [C] - Programmation
Marsh Posté le 12-03-2002 à 22:24:15
Il suffirait de jouer sur les indices de parcours de tes tableaux:
Code :
|
Reste à réutiliser cette fonction pour copier tes tableaux dans un seul.
Marsh Posté le 12-03-2002 à 22:47:44
Alload a écrit a écrit : Alors voilà le problème: je possède n tableau de unsigned long de différentes tailles, et je souhaiterais pouvoir créer un seul grand tableau qui regrouperait toutes les données des petits. Par exemple: _ 1er tableau: [0], [1], [2] _ 2ème tableau: [0'], [1'] _ tableau final: [0], [1], [2], [0'], [1'] Je sais que je pourrais facilement faire une copie en faisant: final[0] = tableau1[0]; final[1] = tableau1[1]; ... final[4] = tableau2[1]; mais j'aimerais quelque chose qui permettent de transfèrer tout un tableau dans le tableau final à une position désirée. Voilà, j'espère que vous comprendrez l'idée car je suis souvent assez confus Merci. |
Euh, pas clair ton histoire:
_ 1er tableau: [a], [b], [c]==> taille: a*b*c
_ 2ème tableau: [e], [f] ==> taille: e*f
nom d'elements total pour les deux tableaux: a*b*c + e*f
tableau final: [a], [b], [c], [e], [f]==> taille a*b*c*e*f ce qui est a priori bien plus grand que le nombre d'elements de tes deux tableaux initiaux.
A+,
Marsh Posté le 12-03-2002 à 22:58:40
Ce que je voulais dire par [0], ..., [1'] c'était l'index des éléments d'un tableau, pas sa taille.
Marsh Posté le 12-03-2002 à 23:09:23
1er tableau: [a], [b], [c]
c'est un tableau de dimension 3 ou pas pour toi? parce que c'est assez confus ce que tu dis.
A+,
Marsh Posté le 13-03-2002 à 00:42:50
Pour [1, 2, 3], [4, 5] et [6, 7, 0] tu veux obtenir [1, 2, 3, 4, 5, 6, 7, 0], c'est ça?
Marsh Posté le 13-03-2002 à 07:04:53
Oui. Pour le moment j'utilise la même méthode que Krueger, mais je me demandais si il n'en existait pas une plus rapide.
J'ai pensé à ça:
int *final;
int tab1[5];
int tab2[4];
final = new int[5 + 4];
CopyMemory(final, &tab1, sizeof(tab1));
final += 5;
CopyMemory(final, &tab2, sizeof(tab2));
Est-ce que ça peut marcher?
Marsh Posté le 13-03-2002 à 07:32:07
Ah j'ai pigé ce que tu veux faire.
Un truc comme ceci, sans doute:
Code :
|
A+,
Marsh Posté le 13-03-2002 à 08:37:34
Mais sizeof(tab1) ne retourne pas plutôt la taille d'un pointeur de type int *?
Marsh Posté le 12-03-2002 à 18:19:13
Alors voilà le problème: je possède n tableau de unsigned long de différentes tailles, et je souhaiterais pouvoir créer un seul grand tableau qui regrouperait toutes les données des petits.
Par exemple:
_ 1er tableau: [0], [1], [2]
_ 2ème tableau: [0'], [1']
_ tableau final: [0], [1], [2], [0'], [1']
Je sais que je pourrais facilement faire une copie en faisant: final[0] = tableau1[0]; final[1] = tableau1[1]; ... final[4] = tableau2[1]; mais j'aimerais quelque chose qui permettent de transfèrer tout un tableau dans le tableau final à une position désirée.
Voilà, j'espère que vous comprendrez l'idée car je suis souvent assez confus
Merci.
[jfdsdjhfuetppo]--Message édité par Alload--[/jfdsdjhfuetppo]