Fusionner 2 tableaux une dimension

Résolu
sigmaaaa Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
sigmaaaa Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une exercice comme ça: Fusionner 2 tableaux une dimension remplit par hasard les nombres de 0 à 9 dans un nouveau tableau. Par exemple:
- T1: 2 6 8 1
- T2: 9 2 5 0 2 8
=> T3: 2 6 8 1 9 2 5 0 2 8

Ma question est: Comment je dois faire pour fusionner 2 tableaux T1 et T2 dans T3.
Merci

2 réponses

armasousou Messages postés 1268 Date d'inscription   Statut Membre Dernière intervention   83
 
T'as la taille de T1, de T2, tu malloc un T2 qui est de taille tT1 + tT2.
tu copie T1 dans T3 puis T2 dans T3 à partir de tT1-1 indice
1
sigmaaaa Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp,
Tu peux préciser un peu plus s'il te plaît? Je dois faire une boucle comment? avec "for"? J'ai essayé de faire une boucle avec for mais j'arrive pas.
0
armasousou Messages postés 1268 Date d'inscription   Statut Membre Dernière intervention   83
 
1) malloc de taille de T1 + taille de T2 en type T3
2) un for de 0 à taille de T1 ou tu recopie t1 dans t3
3) un for de taille de T1 à taille de T2 ou tu recopie t2 dans t3
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
1/ OK
2/ OK
3/ for de taille de T1 à taille de T3 (pas T2)
0
sigmaaaa Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai faire une boucle comme ça:

printf("*** Tableau 3 ***\n");
	for (i=0;i<n;i++)
	{
		t3[i]=t1[i];
		for (i=n;i<n+m;i++)
		{
			t3[i]=t2[i];
			printf("%d ",t3[i]);
		}
	}
	printf("\n");


Je suis sûr qu'il y a un problème, vous pouvez me résoudre, s'il cous plaît?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Enlève le printf(), car là tu n'afficheras qu'une partie de t3.
Pour plus de clarté, je te conseille de faire une autre boucle for pour afficher le tableau t3 (ou mieux, une fonction).

	for (i=0;i<n;i++)
	{
		t3[i]=t1[i];
        }
	for (i=n;i<n+m;i++)
	{
			t3[i]=t2[i-n]; /*n'oublie pas le "-n"*/
	}

Et enfin, reste à voir comment tu as défini t3 et comment tu as calculé n et m.
0
sigmaaaa Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp pour le "t2[i-n]" magique. C'est vrai que j'ai pas bien réfléchi en ce point. Merci bcp
0