Fusionner 2 tableaux une dimension

Résolu/Fermé
sigmaaaa Messages postés 7 Date d'inscription jeudi 13 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013 - 28 déc. 2012 à 14:47
sigmaaaa Messages postés 7 Date d'inscription jeudi 13 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013 - 28 déc. 2012 à 22:21
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

A voir également:

2 réponses

armasousou Messages postés 1267 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 83
28 déc. 2012 à 15:31
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 jeudi 13 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013
28 déc. 2012 à 16:30
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 1267 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 83
28 déc. 2012 à 18:35
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843
28 déc. 2012 à 19:31
1/ OK
2/ OK
3/ for de taille de T1 à taille de T3 (pas T2)
0
sigmaaaa Messages postés 7 Date d'inscription jeudi 13 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013
28 déc. 2012 à 20:45
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843
28 déc. 2012 à 21:01
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 jeudi 13 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013
28 déc. 2012 à 22:21
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